sql >> Databasteknik >  >> RDS >> PostgreSQL

postgresql trigger:inaktivera automatisk commit och ställ in isoleringsnivå

PostgreSQL har ingen inställning som inaktiverar autocommit förutom för inbäddad SQL. Om du försöker stänga av autocommit i t.ex. PSQL, kommer du att se något liknande det här felet.

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

Använd istället BEGIN för att starta en transaktion. I PostgreSQL kan du starta en transaktion och ställa in isoleringsnivån i ett enda uttalande. (Andra plattformar kräver flera påståenden.) Skelettsyntax för PostgreSQL 9.2 är

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

Avsluta transaktionen med antingen COMMIT eller ROLLBACK.



  1. anpassa personsökare i psql

  2. Om SQLite

  3. Migrera från AnswerHub till WordPress :A Tale of 10 Technologies

  4. SQL Server Text Datatyp Maxlängd =65 535?