Ich habe hier ein detailliertes Beispiel für eine lückenlose Sequenzimplementierung mit PL/PgSQL geschrieben .
Die allgemeine Idee ist, dass Sie eine Tabelle zum Speichern der Sequenzwerte wünschen und SELECT ... FOR UPDATE
verwenden gefolgt von UPDATE
- oder die Kurzform UPDATE ... RETURNING
- um Werte daraus zu erhalten, während die Zeile gesperrt wird, bis Ihre Transaktion festgeschrieben oder zurückgesetzt wird.