Bienvenue aux transactions et à la gestion des erreurs dans PostgreSQL

Transactions et gestion des erreurs dans PostgreSQL

Jason Myers

Principal Engineer

Objectifs d'apprentissage et ensembles de données

  • Préserver l'intégrité et la fiabilité des données avec les transactions
  • Effets de la concurrence sur les transactions
  • Gestion des erreurs avec les transactions
Transactions et gestion des erreurs dans PostgreSQL

Pourquoi utiliser les transactions

patient_intake

name priority
Oscar Parker 1
Prisha Ahmed 2
Rhea Taylor 3
UPDATE patient_intake SET priority=1 
WHERE name='Prisha Ahmed';

UPDATE patient_intake SET priority=2 
WHERE name='Oscar Parker';
Transactions et gestion des erreurs dans PostgreSQL

Table en erreur : résultats

patient_intake

name priority
Oscar Parker 1
Prisha Ahmed 1
Rhea Taylor 3
Transactions et gestion des erreurs dans PostgreSQL

Utiliser une transaction

BEGIN;

UPDATE patient_intake SET priority=1 
WHERE name='Prisha Ahmed';

UPDATE patient_intake SET priority=2 
WHERE name='Oscar Parker';

COMMIT;
Transactions et gestion des erreurs dans PostgreSQL

Autre raison d'utiliser des transactions

  • Plusieurs instructions qui doivent réussir ou échouer ensemble
  • Gérer l'effet des opérations concurrentes sur les instructions
Transactions et gestion des erreurs dans PostgreSQL

Blocs de transaction

BEGIN TRANSACTION;

UPDATE patient_intake SET priority=1 
WHERE name='Prisha Ahmed';

UPDATE patient_intake SET priority=2 
WHERE name='Oscar Parker';

COMMIT;
Transactions et gestion des erreurs dans PostgreSQL

Nombre d'instructions illimité

BEGIN;

UPDATE patient_intake SET priority=2 
WHERE name='Oscar Parker';

UPDATE patient_intake SET priority=1 
WHERE name='Rhea Taylor';

UPDATE patient_intake SET priority=3 
WHERE name='Prisha Ahmed';

COMMIT;
Transactions et gestion des erreurs dans PostgreSQL

Passons à la pratique !

Transactions et gestion des erreurs dans PostgreSQL

Preparing Video For Download...