Postgres App配置:修改Open psql默认连接数据库
解决Postgres App「Open psql」报错数据库不存在的问题
你遇到的问题核心是Postgres App的「Open psql」功能默认会尝试连接与当前操作系统用户名同名的数据库,如果这个数据库不存在,就会抛出FATAL: database "incorrect_database_name" does not exist的错误。下面是几种实用的解决方法:
方法1:创建匹配用户名的数据库(最简单)
PostgreSQL的默认规则是,当你不带数据库参数运行psql时,它会自动尝试连接和当前系统用户名一致的数据库。你只需要创建这个缺失的数据库就能解决问题:
- 打开终端,直接执行命令:
createdb incorrect_database_name - 或者用你已经能成功连接的手动方式进入psql,执行SQL命令创建:
CREATE DATABASE incorrect_database_name;
完成后再点击Postgres App的「Open psql」,就能正常连接了。
方法2:设置环境变量指定默认数据库
如果你不想创建那个同名数据库,可以通过设置PGDATABASE环境变量,强制psql默认连接到你已存在的数据库(比如默认的postgres库):
- 打开你当前shell的配置文件:
- 用Zsh的话编辑
~/.zshrc - 用Bash的话编辑
~/.bash_profile或~/.bashrc
- 用Zsh的话编辑
- 在文件末尾添加一行:
export PGDATABASE=postgres - 保存文件后,执行命令让配置立即生效:
source ~/.zshrc # Zsh用户执行这个 # 或者 source ~/.bash_profile # Bash用户执行这个
之后重新打开Postgres App的「Open psql」,就会默认连接到postgres数据库了。
方法3:修改Postgres App的psql启动命令(进阶)
如果前两种方法都不符合你的需求,你可以直接修改App调用psql的命令,指定固定的目标数据库:
- 找到Postgres App的图标,右键选择「显示包内容」
- 进入
Contents/Resources目录,找到处理菜单栏操作的脚本文件(通常是menu-bar.sh) - 在文件中找到调用
psql的行,把原来的psql改成psql -d postgres(把postgres换成你想默认连接的数据库名) - 保存修改后,重启Postgres App即可
⚠️ 注意:这种方法在Postgres App更新后,修改的内容可能会被覆盖,所以优先推荐前两种方法。
内容的提问来源于stack exchange,提问作者Jeremy Thomas
相关产品推荐
相关产品推荐

