START TRANSACTION
Эта страница переведена при помощи нейросети GigaChat.
START TRANSACTION – начало блока транзакции.
Краткий обзор
START TRANSACTION [ transaction_mode [, ...] ]
where transaction_mode is one of:
ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
READ WRITE | READ ONLY
[ NOT ] DEFERRABLE
Описание
Эта команда начинает новый транзакционный блок. Если указаны параметры — уровень изоляции, режим чтения/записи или параметр DEFERRABLE — то транзакция будет создана с этими характеристиками, как если бы была выполнена команда SET TRANSACTION. Это то же самое, что и команда BEGIN.
Параметры
Смотрите SET TRANSACTION для получения информации о параметрах этой команды.
Совместимость
Согласно стандарту SQL, не обязательно явно выполнять START TRANSACTION, чтобы начать транзакцию — любой SQL-запрос автоматически запускает транзакционный блок. Поведение PostgreSQL можно рассматривать как неявное выполнение команды COMMIT после каждой команды, которая не следует за START TRANSACTION (или BEGIN), и поэтому она часто называется «автофиксация». Другие системы реляционных баз данных могут предлагать функцию автофиксации как удобную возможность.
Команда DEFERRABLE transaction_mode является расширением языка PostgreSQL.
Стандарт SQL требует запятые между последовательными элементами transaction_modes, но по историческим причинам PostgreSQL позволяет опускать запятые.
Смотрите также раздел совместимости команды SET TRANSACTION.