J'ai écrit un exemple détaillé d'une implémentation de séquence sans interruption en utilisant PL/PgSQL ici .
L'idée générale est que vous voulez qu'une table stocke les valeurs de séquence et que vous utilisez SELECT ... FOR UPDATE
suivi de UPDATE
- ou le raccourci UPDATE ... RETURNING
- pour en obtenir des valeurs tout en verrouillant la ligne jusqu'à ce que votre transaction soit validée ou annulée.