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() 的状态报告以下值之一:

  • 成功
  • 超时
  • 不在恢复中

请注意,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()" 的评论、建议或更正 在此处