pg_get_wal_replay_pause_state()

一个返回恢复暂停状态的函数

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() 可以确定当前的恢复暂停状态,并返回以下值之一:

  • 未暂停
  • 请求暂停
  • 已暂停

变更历史

示例

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();

分类

复制, 系统函数, WAL

另请参阅

pg_is_wal_replay_paused(), pg_wal_replay_pause(), pg_wal_replay_resume(), pg_wal_replay_wait_status()

反馈

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