选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

文档 / 配置参数 / 预置选项

CONFIGURATION PARAMETER预置选项

in_hot_standby

显示当前是否处于 hot standby 状态。

Shows whether hot standby is currently active.

布尔 内部 引入 14 现存至 20 devel 0 次默认值变更

类型
布尔bool
上下文
内部由编译或 initdb 决定,运行时不能修改
默认值
off
分类
预置选项
引入版本
14
状态
现存

PostgreSQL 18 手册 官方文档 引入提交 bf8a662c9a

版本轨迹

相对 PostgreSQL 17 无变化。

默认值变迁

off 14 – 20

默认值自 PostgreSQL 14 起没有变过。带单位的取值换算成了可读形式,原始的 boot_val 与单位写在悬浮提示里。

手册说明

PostgreSQL 18 手册 · 19.15 预置选项 本站手册 官方原文

报告服务器当前是否处于热备模式。 当这个是on的时候,所有的事务强制为只读。 在会话中,这个只能在服务器提升为主库的时候变更。 更多信息参见Section 26.4

机制详解

显示当前是否处于 hot standby 状态。它是只读状态,不能通过 SET 或修改配置文件来改变。

它会随恢复进入或退出 hot standby 而变化,供 SQL 代码进行能力探测。

联动解读应同时查看 hot_standby、max_standby_streaming_delay、hot_standby_feedback。应用与运维工具可读取 in_hot_standby 做能力或环境判断,但不能依靠 SET 改变它;跨集群比较时还要考虑构建、initdb 与当前数据库差异。

调优建议

按典型负载给出的取值思路,不是放之四海皆准的配方:实际取值要看数据量、并发度与硬件。

  • OLTP在线事务处理

    不可调。把 in_hot_standby 当作部署与能力事实记录;若与预期不符,应修正二进制、initdb 或数据库创建流程,而不是 SET。

  • OLAP分析与批处理

    不可调。用 in_hot_standby 校验分析节点的格式、构建或资源假设,并确保所有读写节点兼容。

  • 小规格低配实例与开发机

    不可调。只需在清单与故障报告中保留该值;不要为改变它而做不必要的自定义构建或重建。

常见问题

  • 尝试用 SET 或配置文件改变只读的 in_hot_standby。
  • 假定所有集群、数据库或发行包的报告值相同。
  • 在文件格式或功能兼容性检查中忽略该值。
  • 把显示值当作性能目标,而不是环境事实。

演化历史

相邻两个大版本之间的差异,新的在前。版本号链到该版的快照。

  1. PostgreSQL 20 ← 19 沿用 19

    事实沿用 19

  2. PostgreSQL 14 ← 13 新增此参数

    PostgreSQL 14 起可用

逐版本快照

每个收录版本里的 7 项事实,与上一个存在的版本不同的格子带底色。版本号链到该版。

版本 默认值单位上下文类型最小值最大值枚举值
14 off 内部 布尔
15 off 内部 布尔
16 off 内部 布尔
17 off 内部 布尔
18 off 内部 布尔
19 off 内部 布尔
20 沿用 off 内部 布尔

参考资料

同类参数

参数 类型 上下文 默认值 版本变动 最近变更
Preset Options 预置选项 24 个
block_size 整数 内部 8192
显示磁盘页块大小。 现存
data_checksums 布尔 内部 off 191 次
显示该集群是否启用了数据校验和。 现存
data_directory_mode 整数 内部 448
显示数据目录的权限模式。 现存
debug_assertions 布尔 内部 off 9.51 次
显示运行中的服务器是否启用了断言检查。 现存
debug_exec_backend 布尔 内部 off
显示运行中的服务器是否启用了 EXEC_BACKEND 构建选项。 现存
effective_wal_level 枚举 内部 replica
显示系统当前实际生效的 WAL 级别。 现存
huge_pages_status 枚举 内部 unknown
显示大页的使用状态。 现存
in_hot_standby 布尔 内部 off
显示当前是否处于 hot standby 状态。 现存
integer_datetimes 布尔 内部 on
显示日期时间是否采用整数表示。 现存
lc_collate 字符串 内部 C
显示排序规则所使用的区域设置。 于 16 移除
lc_ctype 字符串 内部 C
显示字符分类与大小写转换所使用的区域设置。 于 16 移除
max_function_args 整数 内部 100
显示函数参数数量上限。 现存
max_identifier_length 整数 内部 63
显示标识符长度上限。 现存
max_index_keys 整数 内部 32
显示索引键数量上限。 现存
num_os_semaphores 整数 内部 0
显示服务器所需的操作系统信号量数量。 现存
segment_size 整数 内部 1 GiB (131072 × 8kB)
显示每个磁盘文件所含的页数。 现存
server_encoding 字符串 内部 SQL_ASCII
显示服务器(数据库)字符集编码。 现存
server_version 字符串 内部 18.6 (Debian 18.6-1.pgdg13+2) 1916 次
显示服务器版本。 现存
server_version_num 整数 内部 180006 1916 次
以整数形式显示服务器版本。 现存
shared_memory_size 整数 内部 0 B
显示服务器主共享内存区的大小(向上取整到 MB)。 现存
shared_memory_size_in_huge_pages 整数 内部 -1
显示主共享内存区所需的大页数量。 现存
ssl_library 字符串 内部 OpenSSL
显示 SSL 库的名称。 现存
wal_block_size 整数 内部 8192
显示预写日志块大小。 现存
wal_segment_size 整数 内部 16 MiB 111 次
显示预写日志段文件大小。 现存