51.56. pg_subscription #

В каталоге pg_subscription содержатся все существующие подписки логической репликации. Подробнее логическая репликация описана в Главе 29.

В отличие от большинства системных каталогов, pg_subscription разделяется всеми базами данных кластера: есть только один экземпляр pg_subscription в кластере, а не отдельные в каждой базе данных.

Обычные пользователи не имеют доступа к столбцу subconninfo, так как он может содержать пароль в открытом виде.

Таблица 51.56. Столбцы pg_subscription

Тип столбца

Описание

oid oid

Идентификатор строки

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

OID базы данных, в которой располагается эта подписка

subskiplsn pg_lsn

LSN конца транзакции, изменения которой должны быть пропущены, если это действительный LSN; в противном случае 0/0.

subname name

Имя подписки

subowner oid (ссылается на pg_authid.oid)

Владелец подписки

subenabled bool

Если true, подписка включена и должна реплицироваться

subbinary bool

Если true, данные для подписки будут запрашиваться с публикующего сервера в двоичном виде

substream char

Управляет потоковой передачей выполняющихся транзакций: f = запретить потоковую передачу выполняемых транзакций, t = вытеснить изменения выполняемых транзакций на диск и применить сразу после того, как транзакция зафиксирована на публикующем сервере и получена подписчиком, p = применить изменения напрямую, используя параллельный рабочий процесс применения, если он доступен (то же, что и 't', если рабочий процесс недоступен)

subtwophasestate char

Коды состояния для двухфазного режима: d = отключено, p = ожидается включение, e = включено

subdisableonerr bool

Если true, подписка будет отключена в случае обнаружения ошибки одним из её рабочих процессов

subpasswordrequired bool

Если true, подписке требуется указывать пароль для аутентификации

subrunasowner bool

Если true, применение изменений подписки будет выполняться с правами доступа владельца подписки

subconninfo text

Строка подключения к вышестоящей базе данных

subslotname name

Имя слота репликации в вышестоящей базе данных (также применяется в качестве локального имени источника репликации); значение null соответствует имени NONE

subsynccommit text

Значение параметра synchronous_commit для рабочих процессов подписки

subpublications text[]

Массив имён публикаций, на которые оформлена подписка. Подписки с этими именами определяются в вышестоящей базе данных. Подробнее публикации описаны в Разделе 29.1.

suborigin text

Значение источника должно быть либо none, либо any. По умолчанию используется any. При значении none подписка будет запрашивать у публикующего сервера только те изменения, которые не имеют источника. При значении any публикующий сервер отправляет изменения независимо от их источника.