sql >> Databáze >  >> RDS >> PostgreSQL

postgresql trigger:deaktivuje automatické potvrzení a nastaví úroveň izolace

PostgreSQL nemá nastavení, které by zakázalo automatické potvrzení, s výjimkou vloženého SQL. Pokud se pokusíte vypnout autocommit, řekněme, PSQL, uvidíte něco jako tato chyba.

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

Místo toho použijte k zahájení transakce BEGIN. V PostgreSQL můžete zahájit transakci a nastavit úroveň izolace v jediném příkazu. (Jiné platformy vyžadují více příkazů.) Syntaxe kostry pro PostgreSQL 9.2 je

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

Ukončete transakci příkazem COMMIT nebo ROLLBACK.



  1. Jak vytvořit vztah many to many v SQLAlchemy (python, flask) pro model User k sobě samému

  2. Pole TypeORM není v postgresu podporováno?

  3. Jak nastavit výchozí uživatelské heslo v PostgreSQL

  4. Více aplikací Rails, jedna databáze MySQL