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文档: 恢复控制函数