Mac OS Big Sur系统提示zsh: command not found: pg_dump如何解决
解决方案
你遇到的报错是因为仅为psql单独配置了别名,pg_dump作为PostgreSQL的配套工具,未单独配置别名也不在系统默认命令搜索路径中,因此无法被zsh识别。你可以选择以下任意一种方法解决:
方案1:将Postgres工具目录加入系统PATH(推荐)
该方案可以一次性让所有PostgreSQL配套命令(包括psql、pg_dump、pg_restore、createdb等)全局可用,无需单独为每个命令配置别名:
- 打开zsh配置文件,执行命令:
nano ~/.zshrc - 找到你之前添加的
psql别名配置行,删除该行,替换为以下内容:export PATH="/Applications/Postgres.app/Contents/Versions/13/bin:$PATH"
如果你后续可能升级Postgres.app版本,也可以将路径中的版本号替换为Latest,避免升级后重复修改配置:export PATH="/Applications/Postgres.app/Contents/Versions/Latest/bin:$PATH" - 保存并退出编辑器(nano编辑器按
Ctrl+O回车确认保存,再按Ctrl+X退出) - 执行命令使配置立即生效:
source ~/.zshrc - 验证是否生效,执行:
pg_dump --version
正常返回版本号即配置成功。
方案2:单独配置pg_dump别名
如果你不想修改系统PATH,也可以仿照psql的配置方式单独给pg_dump加别名:
- 打开zsh配置文件:
nano ~/.zshrc - 在你之前添加的
psql别名配置行下方,新增一行:alias pg_dump='/Applications/Postgres.app/Contents/Versions/13/bin/pg_dump -p5432' - 保存退出后执行
source ~/.zshrc生效即可。
内容的提问来源于stack exchange,提问作者code-8
相关产品推荐
相关产品推荐

