pg_replication_slots

pg_replication_slots视图提供了当前存在于数据库集簇上的所有复制槽的列表,也包括复制槽的当前状态。

简介

pg_replication_slots视图包含以下列信息:

列名称

类型

描述

slot_name

name

一个唯一的、集簇范围内的复制槽标识符。

plugin

name

包含逻辑槽正在使用的输出插件的共享对象基础名称,对于物理槽为空值。

slot_type

text

复制槽类型,取值包括:physicallogical

datoid

oid

与复制槽相关的数据库的OID,或者为空值。只有逻辑槽具有相关的数据库。

database

name

与复制槽相关的数据库的名称,或者为空值。只有逻辑槽具有相关的数据库。

temporary

bool

如果这是一个临时复制槽则为true,否则为false。临时槽不会被保存在磁盘上并且会在出错或会话结束时自动被删除。

active

bool

如果复制槽当前正在被使用则为true,否则为false

active_pid

int4

如果槽当前正在被使用,则记录使用这个槽的会话的进程ID。如果不活动则为NULL

xmin

xid

复制槽需要数据库保留的最旧事务。VACUUM不能移除被其后续事务删除的元组。

catalog_xmin

xid

复制槽需要数据库保留的影响系统目录的最旧事务。VACUUM不能移除被其后续事务删除的目录元组。

restart_lsn

pg_lsn

可能仍被这个槽的消费者要求的最旧WAL地址(LSN),并且不会在检查点期间自动被移除。 如果这个槽的LSN从未被保留过,则为NULL

confirmed_flush_lsn

pg_lsn

代表逻辑槽的消费者已经确认接收数据到什么位置的地址(LSN)。 比这个地址更旧的数据已经不再可用。对于物理槽此处为NULL

wal_status

text

复制插槽声称的WAL文件的可用性。可能的取值如下:

  • reserved:表示声称的文件包含max_wal_size

  • extended:表示max_wal_size已超出,但文件仍保留,通过复制插槽或wal_keep_size

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

  • lost:表示某些需要的WAL文件已被删除,并且此插槽不再可用。

说明

最后两种状态仅在max_slot_wal_keep_size为非负值时才显示。 如果restart_lsn为NULL,则此字段为空。

safe_wal_size

int8

可以写入到WAL中的字节数,以确保该槽不会处于“丢失”状态。如果槽已丢失,以及当max_slot_wal_keep_size设置为-1时,该值为NULL。