PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postgres-Deadlocks bei gleichzeitigen Upserts

Mir fallen drei Lösungen ein:

  1. Sie fügen nur eine Zeile pro Anweisung ein, aber das ist ineffizient.

  2. Sie sortieren die Zeilen, bevor Sie sie einfügen.

  3. Sie versuchen eine Transaktion erneut, wenn ein Deadlock oder ein Serialisierungsfehler auftritt.

Ich würde die dritte Lösung bevorzugen, es sei denn, die Fehler treten sehr häufig auf.