pg_wal_replay_wait_status()

报告pg_wal_replay_wait()执行状态的函数
此条目与一个提议的PostgreSQL功能相关,该功能在公开发布之前已被撤回。

pg_wal_replay_wait_status() 是一个系统函数,用于报告当前会话中先前调用 pg_wal_replay_wait() 过程的状态。

pg_wal_replay_wait_status()PostgreSQL 18 中添加,但随后被撤销。

用法

pg_wal_replay_wait_status () → text

pg_wal_replay_wait_status() 根据先前调用 pg_wal_replay_wait() 的状态,报告以下值之一:

  • success (成功)
  • timeout (超时)
  • not in recovery (不在恢复模式)

请注意,pg_wal_replay_wait_status() 仅报告当前数据库会话中最近一次调用 pg_wal_replay_wait() 的状态。

变更历史

示例

pg_wal_replay_wait_status() 的基本用法示例

postgres=# CALL pg_wal_replay_wait('0/3031EA8', 1000);
CALL

postgres=# SELECT pg_wal_replay_wait_status();
 pg_wal_replay_wait_status 
---------------------------
 success
(1 row)

postgres=# CALL pg_wal_replay_wait('0/820A21B2', 1000);
ERROR:  timed out while waiting for target LSN 0/820A21B2 to be replayed; current replay LSN 0/3031EA8

postgres=# SELECT pg_wal_replay_wait_status();
 pg_wal_replay_wait_status 
---------------------------
 timeout
(1 row)

分类

复制槽, 系统函数, WAL, 已撤回

另请参阅

pg_wal_replay_wait(), pg_get_wal_replay_pause_state()

反馈

在此处 提交关于“pg_wal_replay_wait_status()”的任何评论、建议或更正。