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 文本

槽类型:physical 或 logical

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。