Killing performance with PostgreSQL partitioning
Partitioning is not without risk. It might help to handle large quantities of data, but it can also have downsides - learn how to it.
Reproducible builds: a PostgreSQL query optimization example
This post shows how to optimize a slow query that came out of the Reproducible Builds project. The Reproducible Builds […]
Subqueries and performance in PostgreSQL
by
Laurenz Albe |
07.2023 SQL allows you to use subqueries almost anywhere where you could have a table or column name. All you […]
Unexpected downsides of UUID keys in PostgreSQL
There are various compelling reasons to use universally unique identifiers (UUID) as primary keys. Two examples are: To be able […]
Use HOT, so CLUSTER won't rot in PostgreSQL
by
Laurenz Albe |
06.2023CLUSTER is sometimes the last resort to squeeze performance out of an index scan. Normally, you have to repeat CLUSTER […]
When talking to customers, sometimes I get the question: How should PostgreSQL installations deal with huge pages and large memory […]
Different from many other database systems, PostgreSQL does not support query hints. That makes it difficult to force the […]
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. […]
Parallel aggregate - PostgreSQL 16 - better performance
What is a parallel aggregate? In PostgreSQL, a parallel aggregate refers to a way of processing aggregate functions (such as […]
The PostgreSQL documentation has some information about row locks. But typically, you cannot see them in pg_locks, and not […]