CentOS 7.9与PostgreSQL版本兼容性及依赖包适配咨询
PostgreSQL 9.x是否兼容CentOS 7.6之后的版本
PostgreSQL 9.x全系列完全兼容CentOS 7.7、7.8、7.9版本。
你看到的兼容矩阵标注支持上限为CentOS 7.6,只是因为文档更新停更时7.7及后续小版本尚未发布,不是官方明确限制不支持。CentOS 7全系列次要版本严格遵循RHEL 7的ABI向后兼容规则,所有核心系统库的主版本、调用接口全程保持稳定,小版本迭代只做bug修复和安全补丁,不会破坏现有软件的运行环境。
从实际部署验证来看,PostgreSQL 9.2、9.4、9.6等9.x分支版本,无论是用官方二进制包安装还是源码编译,在CentOS 7.9上都能正常部署、稳定运行,没有功能异常。需要额外提醒:PostgreSQL 9.x全分支均已结束官方生命周期,不再推送安全补丁,生产环境使用需要自行承担安全风险。
PostgreSQL运行依赖与兼容矩阵说明
PostgreSQL运行确实依赖CentOS内置的基础系统软件包,核心依赖包括glibc、openssl、readline、zlib、libxml2等通用基础库,这些包在CentOS 7整个支持周期内都保持主版本号不变,不会出现接口不兼容的变更。
目前没有单独的PostgreSQL与CentOS系统软件包对应兼容矩阵——RHEL/CentOS同主版本的小版本本身就承诺二进制兼容,所有针对CentOS 7编译的PostgreSQL安装包,在任意CentOS 7小版本上的依赖关系都能自动满足,不需要额外做版本匹配:
- 用PostgreSQL官方提供的el7分支二进制包安装时,包管理器会自动拉取适配的依赖版本,不需要手动核对系统包版本
- 采用源码编译方式安装时,仅需提前通过yum安装
gcc make readline-devel zlib-devel openssl-devel等基础开发包,在CentOS 7任意小版本下都能正常编译安装对应版本的PostgreSQL
唯一需要注意的坑:不要随意把CentOS官方base源提供的glibc、openssl等核心系统包替换成第三方源提供的跨大版本包,这类非官方升级会打破系统ABI稳定性,大概率导致PostgreSQL启动失败或运行异常。
内容的提问来源于stack exchange,提问作者noname nothink

