· 1 min read

Checking Your Privileges, 2

I turned the last blog post into a talk; you can get the slides here.

0 comments

· 3 min read

Checking Your Privileges

The PostgreSQL roles and privileges system can be full of surprises.

Let’s say we have a database test, owned by user owner. In it, we create a very secret function f that we do not want just anyone to be able to execute:

1test=> select current_user;
2 current_user
3--------------
4

0 comments

· 1 min read

"Look It Up: Real-Life Database Indexing" at PgConf.NYC

The slides for my talk “Look It Up: Real-Life Database Indexing” are now available.

1 comment

· 1 min read

Don't use ChatGPT to solve problems.

I shouldn’t have to say this, but don’t use ChatGPT for technical advice.

In an experiment, I asked 40 questions about PostgreSQL. 23 came back with misleading or simply inaccurate information. Of those, 9 came back with answers that would have caused (at best) performance issues. One of the answers could result in a corrupted database (deleting WAL files

4 comments

· 1 min read

Running PostgreSQL on two ports

Recently on one of the PostgreSQL mailing lists, someone wrote in asking if it was possible to get PostgreSQL to listen on two ports. The use case, to paraphrase, was that there was a heterogeneous mix of clients, some of which could connect with TLS, some of which couldn’t. They wanted the clients that could use TLS to do so,

1 comment

· 1 min read

"Writing a Foreign Data Wrapper" at PGCon 2023

I’ll be speaking about Writing a Foreign Data Wrapper at PGCon 2023 in Ottawa, May 30-June 2, 2023. Do come! It’s the premiere technical/hacker conference for PostgreSQL.

0 comments

· 2 min read

A little more on max_wal_size

In a comment on my earlier post on max_wal_size, Lukas Fittl asked a perfectly reasonable question:

Re: “The only thing it costs you is disk space; there’s no other problem with it being too large.”

Doesn’t this omit the fact that a higher max_wal_size leads to longer recovery times after a crash? In my experience that

1 comment

· 2 min read

The importance of max_wal_size

The reality is that most PostgreSQL configuration parameters don’t have a huge impact on overall system performance. There are, however, a couple that really can make a huge difference when tuned from the defaults. work_mem is one of them, and max_wal_size is another.

max_wal_size controls how large the write-ahead log can get on disk before PostgreSQL does a checkpoint.

1 comment

· 1 min read

"Real-World Logical Replication" at Nordic PGDay 2023

The slides from my presentation “Real-World Logical Replication” are now available.

0 comments

· 1 min read

"Database Antipatterns, and where to find them" at SCaLE 20x

The slides are now available for my talk “Database Antipatterns, and where to find them” at SCaLE 20x.

0 comments