PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

postgresql тригер:деактивирайте автоматичното ангажиране и задайте ниво на изолация

PostgreSQL няма настройка, която деактивира автоматичното подаване, освен за вграден SQL. Ако се опитате да зададете автоматично поемане на изключено в, да речем, PSQL, ще видите нещо като тази грешка.

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

Вместо това използвайте BEGIN, за да започнете транзакция. В PostgreSQL можете да започнете транзакция и да зададете нивото на изолация в един оператор. (Други платформи изискват множество оператори.) Синтаксис на скелета за 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

Завършете транзакцията с COMMIT или ROLLBACK.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. postgresql грешка:анулиране на изявление поради потребителска заявка

  2. Как да изпълня множество заявки с помощта на команда psql от bash shell?

  3. Извличане на агрегати за произволни интервали от време

  4. Възможно ли е да се посочи уникален индекс с разрешени NULL в Rails/ActiveRecord?

  5. PostgreSQL:Как да индексирам всички външни ключове?