Points de sauvegarde multiples et ROLLBACK

Transactions et gestion des erreurs dans PostgreSQL

Jason Myers

Principal Engineer

Points de sauvegarde multiples

BEGIN TRANSACTION;

UPDATE inventory SET quantity = quantity - 1 WHERE name in ('flour', 'sugar');

SAVEPOINT inventory_step;

INSERT baking_list SET quantity=12 WHERE name='Torun';

SAVEPOINT queuing_step;

UPDATE cookies SET quantity = 12 WHERE name = 'Torun';
Transactions et gestion des erreurs dans PostgreSQL

Dupliquer des noms de points de sauvegarde

  • Un nouveau SAVEPOINT portant le même nom qu'un précédent dans la même transaction le masque plutôt que de l'écraser ou de le libérer.
  • En général, évitez de réutiliser des noms dans une transaction.
Transactions et gestion des erreurs dans PostgreSQL

Exemple de nom de point de sauvegarde dupliqué

BEGIN TRANSACTION;

UPDATE inventory SET quantity = quantity - 1 WHERE name in ('flour', 'sugar');

SAVEPOINT oops;

INSERT baking_list SET quantity=12 WHERE name='Torun';

SAVEPOINT oops;

UPDATE cookies SET quantity = 12 WHERE name = 'Torun';
Transactions et gestion des erreurs dans PostgreSQL

Passons à la pratique !

Transactions et gestion des erreurs dans PostgreSQL

Preparing Video For Download...