Disabling autocommit in PostgreSQL can damage your health
by
Laurenz Albe |
06.2021 When analyzing customer's problems, I have seen the mess you can get into if you disable autocommit in your […]
How to interpret PostgreSQL EXPLAIN ANALYZE output
by
Laurenz Albe |
05.2021 UPDATED July 2023: EXPLAIN ANALYZE is the key to optimizing SQL statements in PostgreSQL. This article does not attempt […]
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 PostgreSQL commit ee28cacf61 has added new options for the target_session_attrs connection parameter. This article explores how the new options […]
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 […]