How to corrupt your PostgreSQL database
by
Laurenz Albe |
08.2022Of course most people do not want to corrupt their databases. These people will profit from avoiding the techniques used […]
Better SQL functions in PostgreSQL v14
by
Laurenz Albe |
07.2022We all know and value SQL functions as a handy shortcut. PostgreSQL v14 has introduced a new, better way to […]
Transaction anomalies with SELECT FOR UPDATE
by
Laurenz Albe |
06.2022© Laurenz Albe 2022 I was recently confronted with a nice example of how adding FOR UPDATE to a query […]
(Updated 2023-04-07) Even if you understand what a deadlock is, debugging deadlocks can be tricky. This article shows some […]
Case-insensitive pattern matching in PostgreSQL
by
Laurenz Albe |
06.2022 (Updated on 2024-11-27) Case-insensitive search is a much-requested feature, partly (I suspect) to maintain compatibility with Microsoft SQL […]
View permissions and row-level security in PostgreSQL
by
Laurenz Albe |
06.2022 The details of how view permissions are checked have long puzzled me. PostgreSQL v15 introduces “security invoker” views, which […]
How to cancel a hanging PostgreSQL query
by
Laurenz Albe |
05.2022 Sometimes a PostgreSQL query takes forever. Usually, it is easy to interrupt (cancel) such a statement, but sometimes it […]
Next to character encoding, time zones are among the least-loved topics in computing. In addition, PostgreSQL's implementation of timestamp […]
How to DROP ROLE or DROP USER in PostgreSQL
by
Laurenz Albe |
03.2022 You might, at first glance, believe that DROP ROLE (or DROP USER, which is the same) is a simple […]
Query parameter data types and performance
by
Laurenz Albe |
03.2022 Recently, I could help solve a “mysterious” performance problem for a customer. The problem turned out to be a […]