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

Arch Linux升级PostgreSQL11到13提示/opt/pgsql-11/bin不存在如何解决

问题根因

你执行pg_upgrade时指定的旧版本PostgreSQL二进制路径/opt/pgsql-11/bin不存在,是因为系统中没有安装对应11版本的PostgreSQL遗留二进制文件。

解决步骤
  • 第一步:先停止当前运行的PostgreSQL服务,避免数据文件被占用
    sudo systemctl stop postgresql.service
  • 第二步:安装11版本的PostgreSQL二进制文件
    本次升级跨两个大版本(11→13),Arch官方源的postgresql-old-upgrade包默认仅提供当前稳定版的前一个大版本二进制,因此需要从AUR安装对应11版本的包:
    yay -S postgresql11-bin
    若你未安装AUR助手,也可手动下载postgresql11源码编译安装,编译时指定安装前缀为/opt/pgsql-11即可匹配你原命令里的路径。
  • 第三步:确认旧版本二进制文件路径
    AUR安装的postgresql11-bin默认将二进制文件存放在/usr/lib/postgresql11/bin/路径下,你可手动查看该路径下是否存在postgres、pg_dump等可执行文件确认路径正确。
  • 第四步:修正pg_upgrade命令重新执行
    将原命令中-b参数后的旧版本二进制路径替换为实际路径,修改后命令如下:
    pg_upgrade -b /usr/lib/postgresql11/bin -B /usr/bin -d /var/lib/postgres/olddata -D /var/lib/postgres/data
补充说明

如果你是跨单个大版本升级(例如12→13),无需从AUR下载包,直接安装官方源的postgresql-old-upgrade包即可,安装完成后旧版本二进制会自动放在/opt/pgsql-12/bin路径下,直接对应命令参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:18:03