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

Ubuntu18为PostgreSQL12安装pg_partman、pg_squeeze报错求助

可行解决方案

方案一:直接安装预编译扩展包(优先推荐,无需编译、无风险)

Ubuntu 18 官方PostgreSQL源已提供pg_partman和pg_squeeze对应PostgreSQL 12的预编译包,无需手动编译,也不需要安装postgresql-server-dev-12,完全不会触碰现有PostgreSQL 12的运行环境和数据,操作步骤如下:

  • 先更新包列表:sudo apt update
  • 直接安装对应版本扩展:
    sudo apt install postgresql-12-partman postgresql-12-squeeze
    
  • 安装完成后登录PostgreSQL 12实例,在目标业务库下执行命令创建扩展即可:
    CREATE EXTENSION pg_partman;
    CREATE EXTENSION pg_squeeze;
    

方案二:添加官方源后安装dev依赖(适合需要自定义编译最新版扩展的场景)

如果必须手动编译扩展的特定版本,可通过添加PostgreSQL官方源解决依赖冲突问题,操作全程不会卸载现有PostgreSQL 12服务、也不会修改现有数据:

  • 导入官方GPG密钥、添加源配置:
    sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
    
  • 更新包列表后即可正常安装dev依赖:
    sudo apt update
    sudo apt install postgresql-server-dev-12
    
  • 安装完成后回到/etc/pg_partman路径,重新执行sudo make && sudo make install即可完成扩展编译安装,pg_squeeze扩展也可以用相同的流程编译。

方案三:手动安装缺失依赖(适合服务器无法访问外部源的场景)

如果服务器受限无法添加PostgreSQL官方源,可手动下载对应架构的clang-6.0、llvm-6.0、llvm-6.0-dev三个deb包到本地,执行dpkg命令本地安装依赖后,再重新安装postgresql-server-dev-12即可。


操作前置提示

所有操作开始前建议先对PostgreSQL 12的业务数据做全量备份,可使用pg_dumpall备份全局对象,pg_dump单独备份业务库,避免极端场景出现数据异常。

内容的提问来源于stack exchange,提问作者Omer Farooq

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:06:03