Revenir à un point de sauvegarde

Transactions et gestion des erreurs dans PostgreSQL

Jason Myers

Principal Engineer

Sans points de sauvegarde

BEGIN TRANSACTION;

UPDATE cost = 2.33 WHERE name = 'Linga';

UPDATE cost = 500 WHERE name = 'Macaron';

ROLLBACK;
Transactions et gestion des erreurs dans PostgreSQL

Utiliser des points de sauvegarde et des retours ciblés

BEGIN TRANSACTION;

UPDATE cost = 2.33 WHERE name = 'Linga';

SAVEPOINT oops;
UPDATE cost = 500 WHERE name = 'Macaron';
ROLLBACK TO oops;
Transactions et gestion des erreurs dans PostgreSQL

Libérer un point de sauvegarde quand c'est fini

BEGIN TRANSACTION;

UPDATE cost = 2.33 WHERE name = 'Linga';
UPDATE cost = 2.33 WHERE name = 'Petit-Beurre';
UPDATE cost = 2.33 WHERE name = 'Rosette';

SAVEPOINT oops;

UPDATE cost = 5.00 WHERE name = 'Macaron';
UPDATE cost = 3.50 WHERE name = 'Panellets';
RELEASE SAVEPOINT oops;
Transactions et gestion des erreurs dans PostgreSQL

Deux points essentiels sur les retours arrière et les points de sauvegarde

  • ROLLBACK sans TO annule toute la transaction
  • ROLLBACK TO ___, où ___ n'est pas un nom de point valide, provoque une erreur
Transactions et gestion des erreurs dans PostgreSQL

Passons à la pratique !

Transactions et gestion des erreurs dans PostgreSQL

Preparing Video For Download...