Benvenuto/a a Transazioni e gestione degli errori in PostgreSQL

Transazioni e gestione degli errori in PostgreSQL

Jason Myers

Principal Engineer

Obiettivi di apprendimento e dataset

  • Mantieni integrità e affidabilità dei dati con le transazioni
  • Effetti della concorrenza sulle transazioni
  • Gestione degli errori con le transazioni
Transazioni e gestione degli errori in PostgreSQL

Perché usare le transazioni

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';
Transazioni e gestione degli errori in PostgreSQL

Tabella con errore risultante

patient_intake

name priority
Oscar Parker 1
Prisha Ahmed 1
Rhea Taylor 3
Transazioni e gestione degli errori in PostgreSQL

Usare una transazione

BEGIN;

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

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

COMMIT;
Transazioni e gestione degli errori in PostgreSQL

Un altro motivo per usare le transazioni

  • Più istruzioni che devono riuscire o fallire insieme
  • Gestire come le istruzioni sono influenzate dalla concorrenza
Transazioni e gestione degli errori in PostgreSQL

Blocchi di transazione

BEGIN TRANSACTION;

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

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

COMMIT;
Transazioni e gestione degli errori in PostgreSQL

Qualsiasi numero di istruzioni

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;
Transazioni e gestione degli errori in PostgreSQL

Let's practice!

Transazioni e gestione degli errori in PostgreSQL

Preparing Video For Download...