UUID, serial or identity columns for PostgreSQL auto-generated primary keys?
by
Laurenz Albe |
05.2021 UPDATED 14.05.2022: Sometimes customers ask me about the best choice for auto-generated primary keys. In this article, I'll explore […]
What to return from a PostgreSQL row level trigger?
by
Laurenz Albe |
04.2021 In this article, I'll talk about row level triggers, which are the most frequently used kind of triggers. I […]
When to use tablespaces in PostgreSQL
by
Laurenz Albe |
03.2021 Users with an Oracle background consider tablespaces very important and are surprised that you can find so little information […]
New target_session_attrs settings for high availability and scaling in PostgreSQL v14
by
Laurenz Albe |
03.2021© Laurenz Albe 2021 (Updated 2025-07-10) PostgreSQL commit ee28cacf61 has added new options for the target_session_attrs connection parameter. This article […]
Estimating connection pool size with PostgreSQL database statistics
by
Laurenz Albe |
02.2021 PostgreSQL v14 has new connection statistics in pg_stat_database. In this article, I want to explore one application for them: […]
After all the technical articles I have written, I thought it would be nice to write about PostgreSQL sociology […]
Is UPDATE the same as DELETE + INSERT in PostgreSQL?
by
Laurenz Albe |
12.2020 Introduction We know that PostgreSQL does not update a table row in place. Rather, it writes a new version […]
Dealing with streaming replication conflicts in PostgreSQL
by
Laurenz Albe |
11.2020 Streaming replication in PostgreSQL is a well-established master-slave replication technique. It is simple to set up, stable and performs […]
HOT updates in PostgreSQL for better performance
by
Laurenz Albe |
09.2020UPDATED blog article on 09.01.2023 HOT updates are not a new feature. They were introduced by commit 282d2a03dd in 2007 […]
In many PostgreSQL databases, you never have to think or worry about tuning autovacuum. It runs automatically in the […]