Postgresql 中文操作指南

54.19. pg_replication_slots #

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

有关复制槽的更多信息,请参见 Section 27.2.6Chapter 49

Table 54.19. pg_replication_slots Columns

Column Type

Description

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

plugin name 此逻辑槽使用的 output 插件所在共享对象的基准名称,物理槽为 null。

slot_type text 槽类型: physicallogical

datoid oid (引用 pg_database . oid )此槽关联的数据库的 OID,或 null。只有逻辑槽有关联数据库。

database name (引用 pg_database . datname )此槽关联的数据库的名称,或 null。只有逻辑槽有关联数据库。

temporary bool 如果这是临时复制槽,则为 true。临时槽不保存到磁盘,并且在出现错误或会话结束时自动丢弃。

active bool 如果此槽当前正在使用,则为 true

active_pid int4 如果槽当前正在使用,则使用此槽的会话的进程 ID。如果未激活,则为 NULL

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

catalog_xmin xid 此槽需要数据库保留的,影响系统编录的最早事务。 VACUUM 无法删除任何后续事务删除的编录元组。

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

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

wal_status text 此槽声明的 WAL 文件的可用性。可能的值为: reserved 表示声明的文件位于 max_wal_size 内。 extended 表示 max_wal_size 超出,但文件仍保留,要么由复制槽,要么由 wal_keep_sizeunreserved 表示槽不再保留必需的 WAL 文件,并且一些文件将在下一个检查点中删除。此状态可以返回 reservedextendedlost 表示已删除一些必需的 WAL 文件,并且此槽不再可用。只有当 max_slot_wal_keep_size 为非负时才会看到后两种状态。如果 restart_lsn 为 NULL,则此字段为 null。

safe_wal_size int8 可写入 WAL 的字节数,使此槽不会陷入“lost”状态。对于丢失的槽来说是 NULL,如果 max_slot_wal_keep_size-1 也是如此。

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

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