52.19. pg_replication_slots#

52.19. pg_replication_slots

52.19. pg_replication_slots

Представление pg_replication_slots предоставляет список всех слотов репликации, которые в настоящее время существуют в кластере базы данных, вместе с их текущим состоянием.

Для получения дополнительной информации о слотах репликации, см. Раздел 26.2.6 и Глава 47.

Таблица 52.19. pg_replication_slots Колонки

Тип столбца

Описание

slot_name name

Уникальный идентификатор для слота репликации, действующий в пределах всего кластера

plugin name

Базовое имя общего объекта, содержащего выходной плагин, используемый этим логическим слотом, или null для физических слотов.

slot_type text

Тип слота: physical или logical

datoid oid (ссылается на pg_database.oid)

OID базы данных, с которой связан этот слот, или null. Только логические слоты имеют связанную базу данных.

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

Имя базы данных, с которой связан этот слот, или null. Только логические слоты имеют связанную базу данных.

temporary bool

True если это временный слот репликации. Временные слоты не сохраняются на диске и автоматически удаляются при ошибке или когда сессия завершена.

active bool

True, если этот слот в настоящее время активно используется

active_pid int4

Идентификатор процесса сессии, использующего этот слот, если слот в настоящее время активно используется. NULL, если неактивен.

xmin xid

Самая старая транзакция, которую этот слот требует, чтобы база данных сохраняла. VACUUM не может удалить кортежи, удаленные более поздней транзакцией.

catalog_xmin xid

Самая старая транзакция, затрагивающая системные каталоги, которую этот слот требует, чтобы база данных сохраняла. VACUUM не может удалить кортежи каталога, удаленные более поздней транзакцией.

restart_lsn pg_lsn

Адрес (LSN) самого старого WAL, который все еще может потребоваться потребителю этого слота и, следовательно, не будет автоматически удален во время контрольных точек, если этот LSN отстает не более, чем на max_slot_wal_keep_size от текущего LSN. NULL, если LSN этого слота никогда не был зарезервирован.

confirmed_flush_lsn pg_lsn

Адрес (LSN), до которого потребитель логического слота подтвердил получение данных. Данные, старше этого адреса, больше недоступны. NULL для физических слотов.

wal_status text

Доступность WAL-файлов, заявленных этим слотом. Возможные значения:

  • reserved означает, что заявленные файлы находятся в пределах max_wal_size.

  • extended означает, что max_wal_size превышен, но файлы все еще сохраняются, либо с помощью слота репликации, либо с помощью wal_keep_size.

  • unreserved означает, что слот больше не сохраняет необходимые файлы WAL, и некоторые из них будут удалены на следующей контрольной точке. Это состояние может вернуться в состояние reserved или extended.

  • lost означает, что некоторые необходимые файлы WAL были удалены и этот слот больше не может быть использован.

Последние два состояния видны только тогда, когда max_slot_wal_keep_size неотрицательно. Если restart_lsn равно NULL, то это поле также равно NULL.

safe_wal_size int8

Количество байтов, которые можно записать в WAL, чтобы этот слот не оказался в состоянии "потерян". Оно равно NULL для потерянных слотов, а также если max_slot_wal_keep_size равно -1.

two_phase bool

True, если слот включен для декодирования подготовленных транзакций. Всегда false для физических слотов.