此条目涉及一个在公开发布之前已被撤回的提议的 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)
参考文献
- PostgreSQL 18 文档: 恢复同步过程和函数