Witamy w kursie: Transakcje i obsługa błędów w PostgreSQL

Transakcje i obsługa błędów w PostgreSQL

Jason Myers

Principal Engineer

Cele kursu i zestawy danych

  • Utrzymanie integralności danych za pomocą transakcji
  • Wpływ współbieżności na transakcje
  • Obsługa błędów w transakcjach
Transakcje i obsługa błędów w PostgreSQL

Motywacja do używania transakcji

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';
Transakcje i obsługa błędów w PostgreSQL

Wyniki tabeli po błędzie

patient_intake

name priority
Oscar Parker 1
Prisha Ahmed 1
Rhea Taylor 3
Transakcje i obsługa błędów w PostgreSQL

Użycie transakcji

BEGIN;

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

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

COMMIT;
Transakcje i obsługa błędów w PostgreSQL

Kolejny powód do używania transakcji

  • Wiele instrukcji, które muszą się udać lub nie jako grupa
  • Obsługa wpływu równoczesnych operacji na instrukcje
Transakcje i obsługa błędów w PostgreSQL

Bloki transakcji

BEGIN TRANSACTION;

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

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

COMMIT;
Transakcje i obsługa błędów w PostgreSQL

Dowolna liczba instrukcji

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;
Transakcje i obsługa błędów w PostgreSQL

Czas na ćwiczenia!

Transakcje i obsługa błędów w PostgreSQL

Preparing Video For Download...