Bem-vindo/a a Transações e Tratamento de Erros no PostgreSQL

Transações e Tratamento de Erros no PostgreSQL

Jason Myers

Principal Engineer

Objetivos de aprendizagem e conjuntos de dados

  • Mantenha a integridade e a confiabilidade dos dados com
  • Efeitos da concorrência nas transações
  • Tratamento de erros com transações
Transações e Tratamento de Erros no PostgreSQL

Motivação para usar transações

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';
Transações e Tratamento de Erros no PostgreSQL

Resultados com erro na tabela

patient_intake

name priority
Oscar Parker 1
Prisha Ahmed 1
Rhea Taylor 3
Transações e Tratamento de Erros no PostgreSQL

Usando uma transação

BEGIN;

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

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

COMMIT;
Transações e Tratamento de Erros no PostgreSQL

Outro motivo para usar transações

  • Várias instruções que devem ter sucesso ou falhar em conjunto
  • Tratar como instruções são afetadas por operações concorrentes
Transações e Tratamento de Erros no PostgreSQL

Blocos de transação

BEGIN TRANSACTION;

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

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

COMMIT;
Transações e Tratamento de Erros no PostgreSQL

Qualquer número de instruções

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;
Transações e Tratamento de Erros no PostgreSQL

Vamos praticar!

Transações e Tratamento de Erros no PostgreSQL

Preparing Video For Download...