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

PostgreSQL升级后pg_repack v1.4.8安装运行及版本不匹配问题求助

解决pg_repack版本不匹配错误:程序与数据库库版本不一致

问题核心

你遇到的报错是因为系统中安装的**pg_repack客户端工具版本(1.4.5)和数据库内已升级的pg_repack扩展库版本(1.4.8)**不匹配,pg_repack要求客户端与数据库扩展的版本必须完全一致才能正常运行。

具体解决步骤

  1. 确认当前客户端版本
    执行命令检查系统里的pg_repack版本:

    pg_repack --version
    

    若输出为1.4.5,说明客户端未升级成功。

  2. 彻底卸载旧版本pg_repack

    • 包管理器安装的版本:
      • Debian/Ubuntu:
        sudo apt remove --purge pg-repack
        
      • RHEL/CentOS:
        sudo yum remove pg_repack
        
    • 源码编译安装的版本:
      进入当初编译的pg_repack源码目录,执行:
      sudo make uninstall
      
  3. 安装适配PG15.2的pg_repack 1.4.8

    • 包管理器安装(推荐):
      确保PostgreSQL官方源已配置,安装对应PG15的pg_repack包:
      # Debian/Ubuntu
      sudo apt install pg-repack-15
      # RHEL/CentOS
      sudo yum install pg_repack15
      
    • 源码编译安装:
      下载1.4.8源码并指定PG15的pg_config路径编译:
      wget https://github.com/reorg/pg_repack/archive/refs/tags/1.4.8.tar.gz
      tar zxf 1.4.8.tar.gz
      cd pg_repack-1.4.8
      ./configure --with-pgconfig=/usr/pgsql-15/bin/pg_config
      make
      sudo make install
      
  4. 验证版本一致性

    • 客户端版本:再次执行 pg_repack --version,确认输出为1.4.8
    • 数据库扩展版本:进入PostgreSQL执行查询:
      SELECT extname, extversion FROM pg_extension WHERE extname='pg_repack';
      
      确认extversion为1.4.8
  5. 重新测试pg_repack
    运行你的pg_repack命令验证,例如:

    pg_repack -d 你的数据库名 -t 目标表名
    

注意事项

  • PostgreSQL主版本升级后,所有扩展都需要重新安装对应主版本的适配包,扩展与PG主版本强绑定,不能跨版本混用旧工具。
  • 源码编译时必须指定目标PG版本的pg_config路径,否则会编译出适配旧PG版本的工具,导致版本不匹配。

内容的提问来源于stack exchange,提问作者Akshay Bhadange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 07:09:55