pg_get_wal_replay_pause_state()
是一个返回恢复暂停状态的系统函数。
pg_get_wal_replay_pause_state()
在 PostgreSQL 14 中添加。
用法
pg_get_wal_replay_pause_state() → text
调用 pg_wal_replay_pause()
可能不会立即暂停 WAL 重放。 pg_get_wal_replay_pause_state()
能够确定当前的恢复暂停状态,并返回以下值之一
未暂停
请求暂停
已暂停
更改历史记录
- PostgreSQL 14
- 添加 (提交 32fd2b57)
示例
pg_get_wal_replay_pause_state()
的基本用法
postgres=# SELECT pg_wal_replay_pause(); SELECT pg_get_wal_replay_pause_state(); pg_wal_replay_pause --------------------- (1 row) pg_get_wal_replay_pause_state ------------------------------- pause requested (1 row) postgres=# SELECT pg_get_wal_replay_pause_state(); pg_get_wal_replay_pause_state ------------------------------- paused (1 row)
相应的 PostgreSQL 日志文件条目
[2021-04-06 15:12:24 UTC] psql postgres postgres LOG: 00000: statement: SELECT pg_wal_replay_pause(); [2021-04-06 15:12:24 UTC] psql postgres postgres LOG: 00000: statement: SELECT pg_get_wal_replay_pause_state(); [2021-04-06 15:12:24 UTC] LOG: 00000: recovery has paused [2021-04-06 15:12:24 UTC] HINT: Execute pg_wal_replay_resume() to continue. [2021-04-06 15:12:34 UTC] psql postgres postgres LOG: 00000: statement: SELECT pg_get_wal_replay_pause_state();
参考
- PostgreSQL 文档: 恢复控制函数