受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发版本: 19 / devel
此文档适用于不受支持的 PostgreSQL 版本。
您可能需要查看当前版本的相同页面,或上面列出的其他受支持版本。

52.59. pg_subscription #

目录pg_subscription包含所有现有的逻辑复制订阅。更多有关逻辑复制的信息请见Chapter 29

和大部分系统目录不同,pg_subscription在集簇的所有数据库之间共享:每个集簇只有一份pg_subscription拷贝,而不是每个数据库一份。

对列subconninfo的访问被从普通用户那里收回,因为该列可能含有明文密码。

Table 52.59. pg_subscription

列类型

描述

oid oid

行标识符

subdbid oid (引用 pg_database.oid

订阅所在的数据库的OID

subskiplsn pg_lsn

事务的完成 LSN,其更改将被跳过,如果是有效 LSN;否则0/0000000

subname name

订阅的名称

subowner oid (引用 pg_authid.oid

订阅的拥有者

subenabled bool

如果为真,订阅被启用并且应该被复制。

subbinary bool

如果为真,订阅将请求发布者以二进制格式发送数据。

substream char

控制如何处理进行中事务的流式传输: f = 不允许对进行中事务进行流式传输, t = 将进行中事务的更改溢写到磁盘,并在事务在发布者端提交且被订阅者接收后立即应用, p = 如果可用,则直接使用并行应用工作进程应用更改(如果没有工作进程,则与 t 相同)

subtwophasestate char

两阶段模式的状态代码: d = 禁用, p = 待启用, e = 已启用

subdisableonerr bool

如果为真,则当某个工作进程检测到错误时,该订阅将被禁用

subpasswordrequired bool

如果为真,则订阅必须指定用于认证的密码

subrunasowner bool

如果为真,则订阅将按订阅所有者的权限运行

subfailover bool

如果为真,则会启用上游数据库中的相关复制槽(即主复制槽和表同步复制槽),使其能够同步到备库

subretaindeadtuples bool

如果为真,则启用 update_deleted 的检测,并保留订阅端上对冲突检测有用的信息(例如死元组、提交时间戳和来源)。

submaxretention int4

可以保留对冲突检测有用的信息(例如死元组、提交时间戳和来源)的最长时长(毫秒)。

subretentionactive bool

对冲突检测有用的信息(例如死元组、提交时间戳和来源)的保留状态。如果 retain_dead_tuples 已启用,并且保留时长未超过 max_retention_duration (若已定义),则为真。

subserver oid (引用 pg_foreign_server.oid

用于连接字符串的外部服务器。如果 subconninfo 非空,则为零。

subconninfo text

到上游数据库的连接字符串。如果 subserver 非零,则为 NULL

subslotname name

上游数据库中复制槽的名称(也用于本地复制源名称);空表示 NONE

subsynccommit text

用于订阅工作者的synchronous_commit设置。

subwalrcvtimeout text

用于订阅工作者的wal_receiver_timeout设置。

subpublications text[]

被订阅的发布名称数组。它们引用的是上游数据库中定义的发布。 关于发布的更多信息见Section 29.1

suborigin text

来源值必须是 noneany 之一。默认值是 any。 如果为 none,订阅会请求发布者只发送没有来源的更改。 如果为 any,发布者会发送更改,而不管其来源如何。