55.17. pg_prepared_xacts #

Представление pg_prepared_xacts содержит информацию о транзакциях, которые в настоящее время подготовлены для двухфазной фиксации (за подробностями обратитесь к PREPARE TRANSACTION).

Представление pg_prepared_xacts содержит отдельную запись для каждой подготовленной транзакции. Эта запись удаляется, когда транзакция фиксируется или откатывается.

Таблица 55.17. Столбцы pg_prepared_xacts

Тип столбца

Описание

transaction xid

Числовой идентификатор подготовленной транзакции

gid text

Глобальный идентификатор транзакции, назначаемый транзакции

prepared timestamptz

Время, в которое транзакция была подготовлена для фиксации

owner name (ссылается на pg_authid.rolname)

Имя пользователя, выполнявшего транзакцию

database name (ссылается на pg_database.datname)

Имя базы данных, в которой выполнялась транзакция

state3pc text

Состояние трёхфазной фиксации (используется только расширением multimaster)


Когда запрашивается представление pg_prepared_xacts, внутренние структуры данных менеджера транзакций на мгновение блокируются и создаётся их копия для вывода через это представление. Это гарантирует, что представление выдаёт согласованный набор результатов, при этом не задерживая обычные операции на более продолжительное время, чем необходимо. Тем не менее это может отрицательно сказаться на производительности базы данных при частых обращениях к представлению.