Vítejte v kurzu Transakce a zpracování chyb v PostgreSQL

Transakce a ošetření chyb v PostgreSQL

Jason Myers

Principal Engineer

Cíle výuky a datové sady

  • Zachování integrity a věrohodnosti dat pomocí transakcí
  • Vliv souběžnosti na transakce
  • Zpracování chyb s transakcemi
Transakce a ošetření chyb v PostgreSQL

Motivace pro použití transakcí

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';
Transakce a ošetření chyb v PostgreSQL

Výsledek tabulky po chybě

patient_intake

name priority
Oscar Parker 1
Prisha Ahmed 1
Rhea Taylor 3
Transakce a ošetření chyb v PostgreSQL

Použití transakce

BEGIN;

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

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

COMMIT;
Transakce a ošetření chyb v PostgreSQL

Další důvod pro použití transakcí

  • Více příkazů, které by měly uspět nebo selhat jako celek
  • Zpracování vlivu souběžných operací na příkazy
Transakce a ošetření chyb v PostgreSQL

Transakční bloky

BEGIN TRANSACTION;

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

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

COMMIT;
Transakce a ošetření chyb v PostgreSQL

Libovolný počet příkazů

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;
Transakce a ošetření chyb v PostgreSQL

Pojďme procvičovat!

Transakce a ošetření chyb v PostgreSQL

Preparing Video For Download...