Mac环境下PostgreSQL与API启动及认证故障求助
问题描述
- 在Mac上多次安装/卸载不同版本pgAdmin,仍无法启动依赖PostgreSQL的API,已按指引创建对应名称的数据库
- 通过Homebrew安装PostgreSQL 14后,pgAdmin中不显示该数据库实例
- 执行
postgres -V返回postgres (PostgreSQL) 14.6 (Homebrew),但系统中实际存在两个PostgreSQL版本 - 运行API时持续报错:password authentication failed for user "Postgres",所有安装时设置的密码均为
12345 - 已尝试通过终端和应用文件夹彻底删除相关程序
- pgAdmin状态截图:

解决步骤
1. 彻底清理残留的PostgreSQL版本
先完全移除所有旧版本及残留文件,避免版本冲突:
- 停止所有PostgreSQL服务:
brew services stop postgresql # 检查是否有其他启动项 launchctl list | grep postgres # 若有输出,执行卸载:launchctl unload -w 对应的plist路径 - 卸载Homebrew安装的PostgreSQL:
brew uninstall postgresql brew cleanup - 删除数据库文件和配置残留:
rm -rf /usr/local/var/postgres rm -rf ~/.pgadmin rm -rf ~/.postgresql - 检查并删除官网安装包残留:
which -a postgres # 若输出多个路径,删除对应文件夹,例如 sudo rm -rf /Library/PostgreSQL/
2. 重新安装PostgreSQL 14并初始化
- 安装指定版本:
brew install postgresql@14 - 初始化数据库(会创建默认
postgres用户):initdb /usr/local/var/postgres -E utf8 - 设置
postgres用户密码:# 启动服务 brew services start postgresql@14 # 进入psql控制台 psql postgres # 设置密码,执行后输入12345 ALTER USER postgres WITH PASSWORD '12345'; # 退出控制台:\q
3. 配置pgAdmin连接实例
- 打开pgAdmin,右键点击「Servers」→「Register」→「Server」
- 「General」标签页填写服务器名称(如「PostgreSQL 14」)
- 「Connection」标签页配置:
- Host name/address:
localhost - Port:
5432 - Maintenance database:
postgres - Username:
postgres - Password:
12345,勾选「Save password」
- Host name/address:
- 点击「Save」即可连接到PostgreSQL 14实例
4. 修正API连接配置
检查API的数据库配置文件(如.env或配置代码):
- 确保用户名是小写的
postgres(PostgreSQL默认用户名为小写,错误提示中的大写Postgres是问题根源) - 确认数据库地址、端口、密码、数据库名称与实际设置完全一致
- 重启API服务后测试连接
内容的提问来源于stack exchange,提问作者an8ar
相关产品推荐
相关产品推荐

