You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS 7.9更新postgresql13-contrib-13.9后postgres_fdw.so符号错误求助

PostgreSQL 13 postgres_fdw 符号未定义问题解决

问题根源

你遇到的undefined symbol: get_rel_all_updated_cols错误,本质是postgresql13-contrib包与主PostgreSQL服务版本不兼容导致的。get_rel_all_updated_cols是PostgreSQL 13.9版本新增的内部符号,若仅升级了postgresql13-contrib-13.9-1包但未同步升级主服务包,contrib包的postgres_fdw.so会因找不到该符号而加载失败。

解决方法

1. 确认版本不匹配情况

先检查当前PostgreSQL主服务版本:

psql -V

如果输出版本低于13.9,即可确认主包与contrib包版本不一致是问题诱因。

2. 同步升级所有PostgreSQL 13组件

使用yum升级所有postgres13相关包,确保版本统一:

sudo yum update postgresql13*

该命令会将主服务包、contrib包及其他依赖组件全部升级到最新兼容版本,消除符号依赖问题。

3. 重启PostgreSQL服务

升级完成后必须重启服务,让新的库文件生效:

sudo systemctl restart postgresql-13

4. 验证修复

执行以下SQL命令验证postgres_fdw是否能正常加载:

CREATE EXTENSION IF NOT EXISTS postgres_fdw;

若未报错,说明问题已解决。

临时回退方案(无法立即升级时)

如果暂时不能升级主服务包,可以将contrib包降级到与主版本匹配的版本:

  1. 查看系统中可用的旧版本contrib包:
yum --showduplicates list postgresql13-contrib
  1. 执行降级命令(替换版本号为你主服务对应的版本,比如13.8-1.el7):
sudo yum downgrade postgresql13-contrib-13.8-1.el7
  1. 重启PostgreSQL服务。

内容的提问来源于stack exchange,提问作者Troy Meyerink

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 05:47:20