Ubuntu22下PgAdmin无法识别PostgreSQL12二进制文件路径求助
解决Ubuntu 22上PgAdmin无法找到PostgreSQL 12 bin文件的问题
问题回顾
在Ubuntu 22系统中,已确认postgresql-client-12处于最新版本,但PgAdmin无法定位到PostgreSQL 12的pg_dump等工具;尝试添加PATH、修改目录权限后问题仍存在,且PostgreSQL 15版本的工具无法适配目标12版本数据库。
修复步骤
1. 修正PATH环境变量设置
你之前的PATH命令存在路径错误:$HOME/usr/lib/postgresql/12/bin是错误路径,PostgreSQL 12的bin目录实际位于系统路径/usr/lib/postgresql/12/bin,而非用户主目录下。执行正确的PATH添加命令:
export PATH="/usr/lib/postgresql/12/bin:$PATH"
如果需要永久生效,将上述命令添加到~/.bashrc或~/.profile文件中,再执行source ~/.bashrc刷新配置。
2. 确保PgAdmin能读取到正确的PATH
如果通过图形界面启动PgAdmin,终端中设置的PATH可能不会被图形进程继承,可通过以下方式解决:
- 从终端启动PgAdmin:直接在终端执行
pgadmin4,图形进程会继承终端的PATH配置; - 修改图形启动器配置:编辑
/usr/share/applications/pgadmin4.desktop,将Exec行修改为:Exec=env PATH="/usr/lib/postgresql/12/bin:$PATH" pgadmin4
3. 恢复目录默认权限(可选)
无需将/usr/lib/postgresql/12/bin的所有者改为postgres,默认权限(root:root)即可让普通用户执行其中的工具。如果之前修改了权限,可恢复默认:
sudo chown -R root:root /usr/lib/postgresql/12/bin sudo chmod -R 755 /usr/lib/postgresql/12/bin
4. 在PgAdmin中手动指定工具路径
如果上述方法仍无效,可直接在PgAdmin中配置PostgreSQL 12工具的路径:
- 打开PgAdmin,进入File > Preferences > Paths > Binary Paths;
- 在PostgreSQL 12对应的输入框中,填写
/usr/lib/postgresql/12/bin; - 保存配置后重启PgAdmin。
内容的提问来源于stack exchange,提问作者tomasnav
相关产品推荐
相关产品推荐

