COMMIT [ WORK | TRANSACTION ]
Uma opção ao COMMIT é o END que também confirma a transação atual. Este
comando é uma extensão do PostgreSQL que é equivalente ao COMMIT.
ROLLBACK reverte a transação atual e faz com que todas as modificações
realizadas pela transação sejam descartadas. Sua sintaxe é semelhante a do
commit.
ROLLBACK [ WORK | TRANSACTION ]
O SAVEPOINT estabelece um novo savepoint dentro da transação corrente. Um
savepoint é uma marca especial dentro de uma transação que permite que todos
os comandos que são executados antes da sua criação sejam revertidos,
restaurando o estado de transação para o momento do savepoint.
Exemplo filé :
BEGIN;
CREATE TEMPORARY TABLE tabela1 (col1 int) ON COMMIT DROP;
INSERT INTO tabela1 VALUES (1);
SAVEPOINT bora_bahea_minha_porra;
INSERT INTO tabela1 VALUES (2);
ROLLBACK TO SAVEPOINT bora_bahea_minha_porra;
INSERT INTO tabela1 VALUES (3);
COMMIT;
SELECT * FROM tabela1;
col1 ------
1
3
(2 linhas)
A transação acima inseriu os valores 1 e 3, mas não o 2.