PostgreSQL ALTER DEFAULT PRIVILEGES - permissions explained
by
Laurenz Albe |
05.2023 Many people have heard that ALTER DEFAULT PRIVILEGES makes it easy to allow other users access to tables. But […]
Different from many other database systems, PostgreSQL does not support query hints. That makes it difficult to force the […]
Docker and sudden death for PostgreSQL
by
Laurenz Albe |
05.2023 This is a short war story from a customer problem. It serves as a warning that there are special […]
EXPLAIN (GENERIC_PLAN): New in PostgreSQL 16
by
Laurenz Albe |
04.2023 A while ago, I wrote about how difficult it is to get an execution plan for a parameterized query. […]
The PostgreSQL documentation has some information about row locks. But typically, you cannot see them in pg_locks, and not […]
Breaking your PostgreSQL database with bad CHECK constraints
by
Laurenz Albe |
03.2023I am on a spree! After writing about breaking your database and transaction ID wraparound, here I am writing about […]
Transaction ID wraparound: a walk on the wild side
by
Laurenz Albe |
01.2023 Most people are aware of transaction ID wraparound. The concept has been well explained in Hans' article, so I […]
A unique constraint where NULL conflicts with everything
by
Laurenz Albe |
01.2023 I have been faced with a request for an unusual unique constraint that puzzled me for a while. Since […]
Pagination and the problem of the total result count
by
Laurenz Albe |
01.2023 When processing a big result set in an interactive application, you want to paginate the result set, that is, […]
UNION ALL, data types and performance
by
Laurenz Albe |
12.2022 A while ago, I wrote about the performance impact of query parameter data types. Recently I encountered a similar […]