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

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

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

CONFIGURATION PARAMETER预置选项

server_version_num

以整数形式显示服务器版本。

Shows the server version as an integer.

整数 内部 引入 9.0(基线) 现存至 20 devel 16 次默认值变更

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

PostgreSQL 18 手册 官方文档

版本轨迹

相对 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 – 20

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

手册说明

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

本版译文与 PostgreSQL 10 完全一致,下面就是同一段文字。

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

机制详解

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

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

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

调优建议

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

  • OLTP在线事务处理

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

  • OLAP分析与批处理

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

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

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

常见问题

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

演化历史

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

  1. PostgreSQL 20 ← 19 沿用 19

    事实沿用 19

  2. PostgreSQL 19 ← 18 默认值变更

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

  3. PostgreSQL 18 ← 17 默认值变更

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

  4. PostgreSQL 17 ← 16 默认值变更

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

  5. PostgreSQL 16 ← 15 默认值变更

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

  6. PostgreSQL 15 ← 14 默认值变更

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

  7. PostgreSQL 14 ← 13 默认值变更

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

  8. PostgreSQL 13 ← 12 默认值变更

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

  9. PostgreSQL 12 ← 11 默认值变更

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

  10. PostgreSQL 11 ← 10 默认值变更

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

  11. PostgreSQL 10 ← 9.6 默认值变更

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

  12. PostgreSQL 9.6 ← 9.5 默认值变更

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

  13. PostgreSQL 9.5 ← 9.4 默认值变更

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

  14. PostgreSQL 9.4 ← 9.3 默认值变更

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

  15. PostgreSQL 9.3 ← 9.2 默认值变更

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

  16. PostgreSQL 9.2 ← 9.1 默认值变更

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

  17. PostgreSQL 9.1 ← 9.0 默认值变更

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

逐版本快照

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

版本 默认值单位上下文类型最小值最大值枚举值
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 沿用 190000 内部 整数 190000 190000

参考资料

同类参数

参数 类型 上下文 默认值 版本变动 最近变更
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 次
显示预写日志段文件大小。 现存