Mac终端psql命令无法正常运行该如何解决?
问题解决步骤
- 优先排查命令别名/路径冲突
执行type psql查看返回的路径是否匹配你实际安装的PostgreSQL路径:- Homebrew安装的Intel芯片Mac路径为
/usr/local/bin/psql,M系列芯片路径为/opt/homebrew/bin/psql - 官方dmg包安装的默认路径为
/Library/PostgreSQL/[版本号]/bin/psql
如果返回结果显示psql是别名或者指向其他非PostgreSQL目录的文件,删除对应别名或修正环境变量里PATH的优先级即可。
- Homebrew安装的Intel芯片Mac路径为
- 排查分页器卡住问题
psql的帮助输出默认会调用less分页器,可能因分页器配置异常导致无输出,执行以下命令强制关闭分页器测试:
如果上述命令可以正常输出帮助内容,说明是分页器配置问题,检查你当前Shell配置文件(/.zshrc、/.bashrc等)中PAGER=cat psql --helpPAGER环境变量的配置是否存在错误。 - 验证二进制文件完整性
先执行psql --version测试是否能正常输出版本号:- 若版本号也无法输出,说明PostgreSQL安装包损坏,对应你的安装渠道重装即可:Homebrew安装执行
brew reinstall postgresql,官方dmg安装的卸载后重新下载对应版本安装包即可。 - 若版本号可正常输出,检查当前用户对psql二进制文件是否有执行权限,执行
ls -l $(which psql)查看权限位,无执行权限的话执行sudo chmod +x $(which psql)修复。
- 若版本号也无法输出,说明PostgreSQL安装包损坏,对应你的安装渠道重装即可:Homebrew安装执行
- 交叉验证Shell环境
切换其他Shell执行命令测试,比如当前用zsh的话执行:
如果其他Shell下可正常输出,说明当前Shell的配置文件存在冲突项,逐行排查配置文件中与命令别名、PostgreSQL环境变量相关的配置即可。bash -c "psql --help"
内容的提问来源于stack exchange,提问作者Luis Alejandro López de Anda
相关产品推荐
相关产品推荐

