Перейти к основному содержимому

pg_replication_slots

примечание

Эта страница переведена при помощи нейросети GigaChat.

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

Подробнее о слотах репликации смотрите в разделе «Трансляция журналов на резервные серверы».

Столбцы pg_replication_slots:

СтолбецТипОписание
slot_namenameУникальный идентификатор слота репликации в рамках кластера.
pluginnameБазовое имя разделяемого объекта, содержащего плагин вывода, который использует этот логический слот, или NULL для физических слотов.
slot_typetextТип слота: physical или logical.
datoidoid (ссылается на pg_database.oid)OID базы данных, с которой связан этот слот, или NULL. Только логические слоты имеют связанную базу данных.
databasename (ссылается на pg_database.datname)Имя базы данных, с которой связан этот слот, или NULL. Только логические слоты имеют связанную базу данных.
temporarybooltrue, если это временный слот репликации. Временные слоты не сохраняются на диск и автоматически удаляются при ошибке или по завершении сессии.
activebooltrue, если этот слот в настоящее время используется для потоковой передачи.
active_pidint4Идентификатор процесса сессии, передающей данные для этого слота. NULL, если слот неактивен.
xminxidСамая старая транзакция, для которой этот слот требует сохранения в базе данных. VACUUM не может удалять кортежи, удаленные любой более поздней транзакцией.
catalog_xminxidСамая старая транзакция, затрагивающая системные каталоги, для которой этот слот требует сохранения в базе данных. VACUUM не может удалять кортежи каталогов, удаленные любой более поздней транзакцией.
restart_lsnpg_lsnАдрес (LSN) самого старого WAL, который еще может потребоваться потребителю этого слота и поэтому не будет автоматически удален во время контрольных точек, если только этот LSN не отстанет от текущего более чем на max_slot_wal_keep_size. NULL, если LSN этого слота никогда не резервировался.
confirmed_flush_lsnpg_lsnАдрес (LSN), до которого потребитель логического слота подтвердил получение данных. Данные, соответствующие транзакциям, зафиксированным до этого LSN, больше недоступны. NULL для физических слотов.
wal_statustextДоступность файлов WAL, запрошенных этим слотом. Возможные значения:
reserved — запрошенные файлы находятся в пределах max_wal_size;
extendedmax_wal_size превышен, но файлы все еще сохраняются либо слотом репликации, либо параметром wal_keep_size;
unreserved — слот больше не удерживает требуемые файлы WAL, и некоторые из них будут удалены при следующей контрольной точке. Обычно происходит, когда max_slot_wal_keep_size установлен в неотрицательное значение. Это состояние может вернуться в reserved или extended;
lost — этот слот больше не может использоваться.
safe_wal_sizeint8Количество байт, которые можно записать в WAL, чтобы этот слот не оказался в состоянии lost. NULL для потерянных слотов, а также если max_slot_wal_keep_size равен -1.
two_phasebooltrue, если слот включен для декодирования подготовленных транзакций. Всегда false для физических слотов.
two_phase_atpg_lsnАдрес (LSN), с которого включено декодирование подготовленных транзакций. NULL для логических слотов, у которых two_phase равен false, и для физических слотов.
inactive_sincetimestamptzВремя, когда слот стал неактивным. NULL, если слот в настоящее время используется для потоковой передачи. Если слот становится недействительным, это значение больше не обновляется. Для слотов на резервном сервере, синхронизируемых с первичным (у которых поле synced равно true), inactive_since указывает время, когда синхронизация слота была в последний раз остановлена. NULL, если слот всегда синхронизировался. Это помогает отслеживать прерывания синхронизации для слотов на резервном сервере.
conflictingbooltrue, если этот логический слот конфликтовал с восстановлением (и поэтому теперь признан недействительным). Когда этот столбец равен true, проверьте столбец invalidation_reason для получения причины конфликта. Всегда NULL для физических слотов.
invalidation_reasontextПричина признания слота недействительным. Устанавливается как для логических, так и для физических слотов. NULL, если слот действителен. Возможные значения:
wal_removed — требуемый WAL был удален;
rows_removed — требуемые строки были удалены. Устанавливается только для логических слотов;
wal_level_insufficient — первичный сервер не имеет wal_level, достаточного для выполнения логического декодирования. Устанавливается только для логических слотов;
idle_timeout — слот оставался неактивным дольше, чем настроенная длительность idle_replication_slot_timeout.
failoverbooltrue, если это логический слот, включенный для синхронизации с резервными серверами, чтобы логическая репликация могла быть возобновлена с нового первичного сервера после переключения. Всегда false для физических слотов.
syncedbooltrue, если это логический слот, который был синхронизирован с первичного сервера. На горячем резервном сервере слоты с synced = true не могут использоваться для логического декодирования и не могут быть удалены вручную. Значение этого столбца не имеет смысла на первичном сервере; значение на первичном сервере по умолчанию false для всех слотов, но также может быть true (если осталось от повышенного резервного сервера).