in_hot_standby 是一个只读的报告配置参数,指示服务器是否处于恢复状态。
in_hot_standby 在 PostgreSQL 14 中被添加。
用法
in_hot_standby 显示服务器是否处于恢复状态;值为 on 表示处于恢复状态(即备用服务器);值为 off 表示不处于恢复状态(即主服务器)。
信息也可以通过函数 pg_is_in_recovery() 获取;in_hot_standby 的主要用途是它会自动报告给客户端,客户端可以通过 libpq 函数 PQparameterStatus() 检索当前值,而无需执行查询。
按 PostgreSQL 版本详细信息
in_hot_standby (PostgreSQL 19)
| 设置 | off |
| 单位 | |
| 类别 | 预设选项 |
| 简短描述 | 显示当前热备是否激活。 |
| 扩展描述 | |
| 上下文 | 内部 |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: in_hot_standby
in_hot_standby (PostgreSQL 18)
| 设置 | off |
| 单位 | |
| 类别 | 预设选项 |
| 简短描述 | 显示当前热备是否激活。 |
| 扩展描述 | |
| 上下文 | 内部 |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: in_hot_standby
in_hot_standby (PostgreSQL 17)
| 设置 | off |
| 单位 | |
| 类别 | 预设选项 |
| 简短描述 | 显示当前热备是否激活。 |
| 扩展描述 | |
| 上下文 | 内部 |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: in_hot_standby
in_hot_standby (PostgreSQL 16)
| 设置 | off |
| 单位 | |
| 类别 | 预设选项 |
| 简短描述 | 显示当前热备是否激活。 |
| 扩展描述 | |
| 上下文 | 内部 |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: in_hot_standby
in_hot_standby (PostgreSQL 15)
| 设置 | off |
| 单位 | |
| 类别 | 预设选项 |
| 简短描述 | 显示当前热备是否激活。 |
| 扩展描述 | |
| 上下文 | 内部 |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: in_hot_standby
in_hot_standby (PostgreSQL 14)
| 设置 | off |
| 单位 | |
| 类别 | 预设选项 |
| 简短描述 | 显示当前热备是否激活。 |
| 扩展描述 | |
| 上下文 | 内部 |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: in_hot_standby
变更历史
- PostgreSQL 14
- 添加于 (提交 bf8a662c)
示例
使用 SHOW 的基本用法
postgres=# SHOW in_hot_standby; in_hot_standby ---------------- on (1 row) postgres=# SELECT pg_promote(); pg_promote ------------ t (1 row) postgres=# SHOW in_hot_standby; in_hot_standby ---------------- off (1 row)
in_hot_standby 也可以通过 pg_settings 视图检索
postgres=# SELECT name, setting FROM pg_settings WHERE name = 'in_hot_standby';
name | setting
----------------+---------
in_hot_standby | off
(1 row)
参考资料
- PostgreSQL 14 文档: in_hot_standby
