pg_replication_slots
примечание
Эта страница переведена при помощи нейросети GigaChat.
Представление pg_replication_slots предоставляет список всех слотов репликации, которые в настоящее время существуют в кластере баз данных, вместе с их текущим состоянием.
Подробнее о слотах репликации смотрите в разделе «Трансляция журналов на резервные серверы».
Столбцы 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. NULL, если LSN этого слота никогда не резервировался. |
confirmed_flush_lsn | pg_lsn | Адрес (LSN), до которого потребитель логического слота подтвердил получение данных. Данные, соответствующие транзакциям, зафиксированным до этого LSN, больше недоступны. NULL для физических слотов. |
wal_status | text | Доступность файлов WAL, запрошенных этим слотом. Возможные значения: • reserved — запрошенные файлы находятся в пределах max_wal_size;• extended — max_wal_size превышен, но файлы все еще сохраняются либо слотом репликации, либо параметром wal_keep_size;• unreserved — слот больше не удерживает требуемые файлы WAL, и некоторые из них будут удалены при следующей контрольной точке. Обычно происходит, когда max_slot_wal_keep_size установлен в неотрицательное значение. Это состояние может вернуться в reserved или extended;• lost — этот слот больше не может использоваться. |
safe_wal_size | int8 | Количество байт, которые можно записать в WAL, чтобы этот слот не оказался в состоянии lost. NULL для потерянных слотов, а также если max_slot_wal_keep_size равен -1. |
two_phase | bool | true, если слот включен для декодирования подготовленных транзакций. Всегда false для физических слотов. |
two_phase_at | pg_lsn | Адрес (LSN), с которого включено декодирование подготовленных транзакций. NULL для логических слотов, у которых two_phase равен false, и для физических слотов. |
inactive_since | timestamptz | Время, когда слот стал неактивным. NULL, если слот в настоящее время используется для потоковой передачи. Если слот становится недействительным, это значение больше не обновляется. Для слотов на резервном сервере, синхронизируемых с первичным (у которых поле synced равно true), inactive_since указывает время, когда синхронизация слота была в последний раз остановлена. NULL, если слот всегда синхронизировался. Это помогает отслеживать прерывания синхронизации для слотов на резервном сервере. |
conflicting | bool | true, если этот логический слот конфликтовал с восстановлением (и поэтому теперь признан недействительным). Когда этот столбец равен true, проверьте столбец invalidation_reason для получения причины конфликта. Всегда NULL для физических слотов. |
invalidation_reason | text | Причина признания слота недействительным. Устанавливается как для логических, так и для физических слотов. NULL, если слот действителен. Возможные значения:• wal_removed — требуемый WAL был удален;• rows_removed — требуемые строки были удалены. Устанавливается только для логических слотов;• wal_level_insufficient — первичный сервер не имеет wal_level, достаточного для выполнения логического декодирования. Устанавливается только для логических слотов;• idle_timeout — слот оставался неактивным дольше, чем настроенная длительность idle_replication_slot_timeout. |
failover | bool | true, если это логический слот, включенный для синхронизации с резервными серверами, чтобы логическая репликация могла быть возобновлена с нового первичного сервера после переключения. Всегда false для физических слотов. |
synced | bool | true, если это логический слот, который был синхронизирован с первичного сервера. На горячем резервном сервере слоты с synced = true не могут использоваться для логического декодирования и не могут быть удалены вручную. Значение этого столбца не имеет смысла на первичном сервере; значение на первичном сервере по умолчанию false для всех слотов, но также может быть true (если осталось от повышенного резервного сервера). |