server_version_num
server_version_num:以整数形式显示服务器版本。实测在档范围为 PG9.0–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 190000,context 为 internal。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。
说明
Fact — 官方简述译文:以整数形式显示服务器版本。
身份
生命周期
| Fact | 值 |
|---|---|
| 首次观测 | PG9.0(研究下界) |
| 在档版本 | PG9.0–19 Beta 3 |
| 移除版本 | 否 |
| 引入提交 | 不作断言:早于 PG9.0 研究边界 |
| 提交日期 | — |
| Discussion | — |
默认值变迁
| 版本 | 原始 boot_val |
单位 | 人类可读值 |
|---|---|---|---|
| PG9.0 | 90023 |
— | 90023 |
| PG9.1 | 90124 |
— | 90124 |
| PG9.2 | 90223 |
— | 90223 |
| PG9.3 | 90325 |
— | 90325 |
| PG9.4 | 90426 |
— | 90426 |
| PG9.5 | 90525 |
— | 90525 |
| PG9.6 | 90624 |
— | 90624 |
| PG10 | 100023 |
— | 100023 |
| PG11 | 110022 |
— | 110022 |
| PG12 | 120022 |
— | 120022 |
| PG13 | 130023 |
— | 130023 |
| PG14 | 140024 |
— | 140024 |
| PG15 | 150019 |
— | 150019 |
| PG16 | 160015 |
— | 160015 |
| PG17 | 170011 |
— | 170011 |
| PG18 | 180006 |
— | 180006 |
| PG19 Beta 3 | 190000 |
— | 190000 |
机制详解
以整数报告当前服务器二进制版本。它是 internal/只读值,由二进制决定,与 initdb 或建库无关。
在本项目实测的 PG9.0–19 Beta 3 中,该整数编码大版本与小版本更新,软件可据此做数值比较,无需解析 server_version 的发行商文字。
只有无法直接探测服务端能力时才用它做兼容 gating。扩展与客户端仍需考虑不改变上游版本号的发行商 backport。
调优建议
提示
Advice。 以下建议是工作负载起点,必须用真实测量验证。
| 场景 | 建议 |
|---|---|
| OLTP | 不可调。升级后记录每个服务器的值,并在部署检查中做数值比较;改变它意味着运行不同 PostgreSQL 二进制。 |
| OLAP | 启用版本专属 SQL 或优化器功能前,核对协调节点、worker、副本与扩展构建对应的真实服务器版本。 |
| 小规格 | 可用该值做简单兼容检查,但优先直接探测所需能力;不要尝试通过配置或 initdb 修改。 |
Pigsty 取值
以下值来自固定 8 核、32 GiB、100 GiB SSD 夹具,并按 PG19 Beta 3 渲染当前 Pigsty 模板;这不表示 Pigsty 当前支持该历史或测试版本。
| 模板 | 有效值 | 与上游 boot 比较 | 源表达式 |
|---|---|---|---|
| OLTP | 未修改 | — | — |
| OLAP | 未修改 | — | — |
| CRIT | 未修改 | — | — |
| TINY | 未修改 | — | — |
注意
Advice — 待人工复核。 当前 Pigsty 模板投影事实:OLTP: PG9.0–19 Beta 3 未修改;OLAP: PG9.0–19 Beta 3 未修改;CRIT: PG9.0–19 Beta 3 未修改;TINY: PG9.0–19 Beta 3 未修改。 未发现覆盖值,因此不推断 Pigsty 专属理由。
常见坑
- 把整数当字符串比较。
- 尝试通过配置或重建数据库修改。
- 误以为该数值包含发行商 backport 与下游补丁信息。
- 用客户端库版本替代所连接服务器版本。
关联参数
server_version · server_encoding · integer_datetimes · ssl_library · max_identifier_length · block_size