在Windows10(Parallels)通过dbForge Studio连接Mac PostgreSQL失败求助
解决dbForge Studio连接PostgreSQL的问题
我来帮你一步步排查这个连接故障,结合你用Postgres.App在Mac上搭建环境的情况,核心问题大概率出在用户身份配置上,下面是具体的排查和修复步骤:
1. 先纠正最明显的配置错误
PostgreSQL(包括Postgres.App默认安装)的超级用户是**postgres**,而不是你填写的root——这几乎是90%的新手连接失败原因。Postgres.App默认不会创建root用户,所以你用这个用户肯定连不上。
2. 先验证本地数据库是否正常
先排除数据库本身的问题,打开Mac终端,输入以下命令:
psql -d postgres
- 如果直接进入了PostgreSQL命令行(显示
postgres=#提示符),说明数据库运行正常,问题完全在dbForge的配置上。 - 如果提示需要密码,说明你之前给
postgres用户设置过密码,这个密码才是你要在dbForge里用的,而不是root。
3. 调整dbForge的连接参数
把你的dbForge连接配置改成以下内容:
- 主机:
localhost(优先用这个,PostgreSQL对localhost和127.0.0.1的认证规则可能不同) - 端口:
5432(保持不变,没问题) - 用户:
postgres(替换掉原来的root) - 密码:
- 如果刚才终端用
psql -d postgres直接连上了,留空试试; - 如果终端需要密码,填你设置的那个密码;
- 如果刚才终端用
- 数据库:选择你已有的
postgres或emixam23来测试连接
4. 如果还是连不上,检查PostgreSQL的认证配置
如果上面的步骤都不行,需要修改PostgreSQL的pg_hba.conf文件(控制连接认证规则):
- Postgres.App的
pg_hba.conf路径一般是:~/Library/Application Support/Postgres/<你的Postgres版本号>/data/pg_hba.conf - 找到类似下面的行:
host all all 127.0.0.1/32 peer - 把
peer改成md5或者scram-sha-256(这两种是支持密码认证的方式) - 保存文件后,重启Postgres.App的服务,再试dbForge连接
额外提醒
如果你确实需要用root用户连接,得先在PostgreSQL里创建这个用户并设置权限,但这完全没必要——PostgreSQL的postgres用户已经拥有最高权限,用它就足够了。
内容的提问来源于stack exchange,提问作者Emixam23
相关产品推荐
相关产品推荐

