PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

gatilho postgresql:desative a confirmação automática e defina o nível de isolamento


O PostgreSQL não tem uma configuração que desabilite o autocommit, exceto para SQL embutido. Se você tentar desativar o autocommit em, digamos, PSQL, você verá algo como este erro.
sandbox=# set autocommit=off;
ERROR:  SET AUTOCOMMIT TO OFF is no longer supported

Em vez disso, use BEGIN para iniciar uma transação. No PostgreSQL, você pode iniciar uma transação e definir o nível de isolamento em uma única instrução. (Outras plataformas exigem várias instruções.) Sintaxe de esqueleto para o PostgreSQL 9.2 é
BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]

where transaction_mode is one of:

    ISOLATION LEVEL { SERIALIZABLE   | REPEATABLE READ | 
                      READ COMMITTED | READ UNCOMMITTED }
    READ WRITE | READ ONLY
    [ NOT ] DEFERRABLE

Finalize a transação com COMMIT ou ROLLBACK.