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