Schedule - pgDay Paris 2020

Stay safe from ACID rains

Date: 2020-03-26
Time: 09:15–10:00
Room: Auditorium

SQL developers know that transactions are atomic, but not always that they need to choose an adequate isolation level to protect against concurrency issues. Otherwise, concurrent transactions can be subject to known anomalies such as lost updates and inconsistent reads or worse, open an application to an "ACID Rain" kind of attack.

This presentation will demonstrate with simple examples how these attacks can happen and more generally how concurrency anomalies occur, with a special focus on how tricky the default "Read Committed" can be. Then it will show how to prevent these issues in PostgreSQL with the stricter "Repeatable Read" isolation level and the even stricter "Serializable". We'll see why the SQL standard recommends serializable transactions by default, and how they can be used efficiently in PostgreSQL since version 9.1.

The talk is geared towards users with an intermediate-level knowledge of SQL. The examples shown will all be simple queries.


Daniel Vérité