PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

trigger postgresql:disabilita il commit automatico e imposta il livello di isolamento

PostgreSQL non ha un'impostazione che disabilita l'autocommit ad eccezione dell'SQL incorporato. Se provi a disattivare l'autocommit, ad esempio, in PSQL, vedrai qualcosa di simile a questo errore.

sandbox=# set autocommit=off;
ERROR:  SET AUTOCOMMIT TO OFF is no longer supported

Utilizzare invece BEGIN per avviare una transazione. In PostgreSQL, puoi avviare una transazione e impostare il livello di isolamento in una singola istruzione. (Altre piattaforme richiedono più istruzioni.) Sintassi dello scheletro per 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

Termina la transazione con COMMIT o ROLLBACK.