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

Postgres-Trigger und Zeilensperre

Was soll passieren, wenn die Transaktion rückgängig gemacht wird? Es ist ziemlich offensichtlich, dass alle Einfügungen auf table_a, sowie alle Updates zu table_b, zurückgerollt werden soll. Deshalb alle Zeilen von table_b durch den Trigger aktualisiert, wird gesperrt, bis die Transaktion abgeschlossen ist.

Commit nach jedem insert (Reduzierung der Anzahl der Zeilen, die in eine einzelne Transaktion eingefügt werden) verringert die Wahrscheinlichkeit von Konflikten mit gleichzeitigen Prozessen.