↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

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

百科 / 配置参数 / 预置选项

CONFIGURATION PARAMETER预置选项

server_version_num

以整数形式报告服务器的版本号。

Shows the server version as an integer.

整数 内部 引入 8.2 现存至 20 devel 16 次默认值变更

类型
整数integer
上下文
内部由编译或 initdb 决定,运行时不能修改
默认值
180006
取值范围
180006 – 180006
分类
预置选项
引入版本
8.2
状态
现存

PostgreSQL 18.7 手册 官方文档

版本轨迹

相对 PostgreSQL 17:默认值由 170011 改为 180006,最小值由 170011 改为 180006,最大值由 170011 改为 180006。

默认值变迁

90023 9.0 90124 9.1 90223 9.2 90325 9.3 90426 9.4 90525 9.5 90624 9.6 100023 10 110022 11 120022 12 130023 13 140024 14 150019 15 160015 16 170011 17 180006 18 190000 19

默认值一共换过 17 档,每段的宽度按它覆盖的大版本数伸展,深色的一段是当前查看的 PostgreSQL 18.7。带单位的取值换算成了可读形式,原始的 boot_val 与单位写在悬浮提示里。

手册说明

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

以整数形式报告服务器的版本号。它是由编译服务器时的 PG_VERSION_NUM 值决定的。

机制详解

以整数报告当前服务器二进制版本。它是 internal/只读值,由二进制决定,与 initdb 或建库无关。

在本项目实测的 PG9.0–19 Beta 3 中,该整数编码大版本与小版本更新,软件可据此做数值比较,无需解析 server_version 的发行商文字。

只有无法直接探测服务端能力时才用它做兼容 gating。扩展与客户端仍需考虑不改变上游版本号的发行商 backport。

调优建议

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

  • OLTP在线事务处理

    不可调。升级后记录每个服务器的值,并在部署检查中做数值比较;改变它意味着运行不同 PostgreSQL 二进制。

  • OLAP分析与批处理

    启用版本专属 SQL 或优化器功能前,核对协调节点、worker、副本与扩展构建对应的真实服务器版本。

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

    可用该值做简单兼容检查,但优先直接探测所需能力;不要尝试通过配置或 initdb 修改。

常见问题

  • 把整数当字符串比较。
  • 尝试通过配置或重建数据库修改。
  • 误以为该数值包含发行商 backport 与下游补丁信息。
  • 用客户端库版本替代所连接服务器版本。

演化历史

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

  1. PostgreSQL 19 ← 18 默认值变更

    默认值 180006 190000 最小值 180006 190000 最大值 180006 190000

  2. PostgreSQL 18 ← 17 默认值变更

    默认值 170011 180006 最小值 170011 180006 最大值 170011 180006

  3. PostgreSQL 17 ← 16 默认值变更

    默认值 160015 170011 最小值 160015 170011 最大值 160015 170011

  4. PostgreSQL 16 ← 15 默认值变更

    默认值 150019 160015 最小值 150019 160015 最大值 150019 160015

  5. PostgreSQL 15 ← 14 默认值变更

    默认值 140024 150019 最小值 140024 150019 最大值 140024 150019

  6. PostgreSQL 14 ← 13 默认值变更

    默认值 130023 140024 最小值 130023 140024 最大值 130023 140024

  7. PostgreSQL 13 ← 12 默认值变更

    默认值 120022 130023 最小值 120022 130023 最大值 120022 130023

  8. PostgreSQL 12 ← 11 默认值变更

    默认值 110022 120022 最小值 110022 120022 最大值 110022 120022

  9. PostgreSQL 11 ← 10 默认值变更

    默认值 100023 110022 最小值 100023 110022 最大值 100023 110022

  10. PostgreSQL 10 ← 9.6 默认值变更

    默认值 90624 100023 最小值 90624 100023 最大值 90624 100023

  11. PostgreSQL 9.6 ← 9.5 默认值变更

    默认值 90525 90624 最小值 90525 90624 最大值 90525 90624

  12. PostgreSQL 9.5 ← 9.4 默认值变更

    默认值 90426 90525 最小值 90426 90525 最大值 90426 90525

  13. PostgreSQL 9.4 ← 9.3 默认值变更

    默认值 90325 90426 最小值 90325 90426 最大值 90325 90426

  14. PostgreSQL 9.3 ← 9.2 默认值变更

    默认值 90223 90325 最小值 90223 90325 最大值 90223 90325

  15. PostgreSQL 9.2 ← 9.1 默认值变更

    默认值 90124 90223 最小值 90124 90223 最大值 90124 90223

  16. PostgreSQL 9.1 ← 9.0 默认值变更

    默认值 90023 90124 最小值 90023 90124 最大值 90023 90124

  17. PostgreSQL 8.2 ← 8.1 新增此参数

    PostgreSQL 8.2 起可用

逐版本快照

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

版本 默认值单位上下文类型最小值最大值枚举值
8.2 — — — 整数 — — —
8.3 — — — 整数 — — —
8.4 — — — 整数 — — —
9.0 90023 空 内部 整数 90023 90023 —
9.1 90124 空 内部 整数 90124 90124 —
9.2 90223 空 内部 整数 90223 90223 —
9.3 90325 空 内部 整数 90325 90325 —
9.4 90426 空 内部 整数 90426 90426 —
9.5 90525 — 内部 整数 90525 90525 —
9.6 90624 — 内部 整数 90624 90624 —
10 100023 — 内部 整数 100023 100023 —
11 110022 — 内部 整数 110022 110022 —
12 120022 — 内部 整数 120022 120022 —
13 130023 — 内部 整数 130023 130023 —
14 140024 — 内部 整数 140024 140024 —
15 150019 — 内部 整数 150019 150019 —
16 160015 — 内部 整数 160015 160015 —
17 170011 — 内部 整数 170011 170011 —
18 180006 — 内部 整数 180006 180006 —
19 190000 — 内部 整数 190000 190000 —
20 — — — 整数 — — —

参考资料

同类参数

参数 类型 上下文 默认值 版本变动 最近变更
Preset Options 预置选项 24 个 ↗
block_size 整数 内部 8192 —
报告一个磁盘块的大小。 现存
data_checksums 布尔 内部 off 201 次
报告这个集簇的数据校验和状态。 现存
data_directory_mode 整数 内部 448 —
在 Unix 系统上,这个参数报告服务器启动时数据目录(由 data_directory 定义)的权限。 现存
debug_assertions 布尔 内部 off 9.51 次
报告 PostgreSQL 是否在构建时启用了断言。 现存
debug_exec_backend 布尔 — —
报告 PostgreSQL 是否在构建时启用了 EXEC_BACKEND。 现存
effective_wal_level 枚举 — —
报告当前系统中实际生效的 WAL 记录级别。 现存
huge_pages_status 枚举 内部 unknown —
报告当前实例中大页的状态:on、off 或 unknown(当通过 postgres -C 查看时)。 现存
in_hot_standby 布尔 内部 off —
报告服务器当前是否处于热备模式。 现存
integer_datetimes 布尔 内部 on —
报告 PostgreSQL 是否在编译时启用了对 64 位整数日期和时间的支持。 现存
lc_collate 字符串 内部 C —
报告对文本数据进行排序所使用的区域设置。 于 16 移除
lc_ctype 字符串 内部 C —
报告决定字符分类的区域设置。 于 16 移除
max_function_args 整数 内部 100 —
报告函数参数的最大数量。 现存
max_identifier_length 整数 内部 63 —
报告标识符的最大长度。 现存
max_index_keys 整数 内部 32 —
报告索引键的最大数目。 现存
num_os_semaphores 整数 内部 0 —
根据配置的最大连接数(max_connections)、允许的自动清理工作进程数(autovacuum_max_workers)、允许的 WAL 发送进程数(max_wal_senders)、允许的后台进程数(max_worker_processes)等,报告服务器所需的信号量数量。 现存
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 —
报告主共享内存区域的大小,向上取整到整数兆字节。 现存
shared_memory_size_in_huge_pages 整数 内部 -1 —
报告基于指定的 huge_page_size 所需的主共享内存区域的大页数。 现存
ssl_library 字符串 内部 OpenSSL —
报告此 PostgreSQL 服务器在构建时使用的 SSL 库的名称(即使此实例当前未配置或使用 SSL),例如 OpenSSL,如果没有使用 SSL 库,则报告空字符串。 现存
wal_block_size 整数 内部 8192 —
报告一个 WAL 磁盘块的尺寸。 现存
wal_segment_size 整数 内部 16 MiB 111 次
报告 WAL 段文件的大小。 现存