Skip to content

54.19.pg_replication_slots#

pg_replication_slots视图提供当前数据库集群中所有复制槽的列表,以及它们当前的状态。

有关复制槽的详细信息,请参见第 27.2.6 节第 49 章

表 54.19.pg_replication_slots

列类型

描述

slot_name 名称

复制槽的唯一集群范围标识符

plugin 名称

此逻辑槽使用的输出插件所包含的共享对象的基名,或物理槽的 null。

slot_type 文本

槽类型:physicallogical

datoid oid(引用 pg_database.oid

此槽关联的数据库的 OID,或 null。只有逻辑槽具有关联的数据库。

数据库 名称(引用 pg_database.datname

此槽关联的数据库的名称,或 null。只有逻辑槽具有关联的数据库。

临时 布尔值

如果这是临时复制槽,则为 True。临时槽不会保存到磁盘,并且会在出错或会话结束时自动删除。

活动 布尔值

如果此槽当前正在积极使用,则为 True

活动 pid int4

如果槽当前正在积极使用,则使用此槽的会话的进程 ID。如果处于非活动状态,则为 NULL

xmin xid

此槽需要数据库保留的最旧事务。 VACUUM 无法删除任何后续事务删除的元组。

目录 xmin xid

此槽需要数据库保留的最旧事务,该事务会影响系统目录。 VACUUM 无法删除任何后续事务删除的目录元组。

重新启动 LSN pg_lsn

此槽的使用者可能仍需要的最旧 WAL 的地址(LSN),因此在检查点期间不会自动删除,除非此 LSN 落后于当前 LSN 超过 max_slot_wal_keep_size。如果从未保留此槽的 LSN,则为 NULL

已确认刷新 LSN pg_lsn

逻辑槽的使用者已确认收到数据的地址(LSN)。在此 LSN 之前提交的事务对应的不再可用。对于物理槽,为 NULL

wal 状态 文本

此槽声明的 WAL 文件的可用性。可能的值为

  • 保留 表示声明的文件在 max_wal_size 内。

  • 扩展 表示超过了 max_wal_size,但文件仍被保留,要么由复制槽保留,要么由 wal_keep_size 保留。

  • 未保留 表示槽不再保留所需的 WAL 文件,并且其中一些文件将在下一个检查点删除。此状态可以返回 保留扩展

  • 丢失 表示已删除一些必需的 WAL 文件,并且此槽不再可用。

只有在 max_slot_wal_keep_size 为非负数时才能看到最后两个状态。如果 restart_lsn 为 NULL,则此字段为 null。

safe_wal_size int8

可以写入 WAL 的字节数,使得此槽不会处于“丢失”状态。对于丢失的槽以及 max_slot_wal_keep_size-1 的情况,该值为 NULL。

two_phase bool

如果该槽已启用以解码已准备好的事务,则为 True。对于物理槽始终为 false。

conflicting bool

如果此逻辑槽与恢复冲突(因此现在已失效),则为 True。对于物理槽始终为 NULL。