COMMIT PREPARED
COMMIT PREPARED — зафиксировать транзакцию, которая ранее была подготовлена для двухфазной фиксации
Синтаксис
COMMIT PREPARED id_транзакции
Описание
COMMIT PREPARED
фиксирует транзакцию, находящуюся в подготовленном состоянии.
Параметры
id_транзакции
Идентификатор транзакции, которая будет зафиксирована.
Замечания
Зафиксировать подготовленную транзакцию может либо пользователь, выполнявший её изначально, либо суперпользователь. При этом не обязательно работать в том же сеансе, где выполнялась транзакция.
Эту команду нельзя выполнить внутри блока транзакции. Подготовленная транзакция фиксируется немедленно.
Все существующие в текущий момент подготовленные транзакции показываются в системном представлении pg_prepared_xacts
.
Примеры
Фиксация транзакции, имеющей идентификатор foobar
:
COMMIT PREPARED 'foobar';
Совместимость
Оператор COMMIT PREPARED
является расширением Postgres Pro. Он предназначен для использования внешними системами управления транзакциями, некоторые из которых работают по стандартам (например, X/Open XA), но сторона SQL в этих системах не стандартизирована.