macOS安装PostgreSQL后运行命令行工具报错求助
解决PostgreSQL连接报错:Connection refused(Unix套接字/tmp/.s.PGSQL.5432)
1. 先修正版本不匹配问题
你安装的是PostgreSQL 13,但执行的是PostgreSQL 15的psql客户端,先切换到对应版本的命令:
/Library/PostgreSQL/13/bin/psql -U postgres
2. 确认PostgreSQL服务是否在运行
- 打开系统偏好设置,找到PostgreSQL图标,检查13版本的服务状态
- 未运行的话点击「Start Server」启动;也可以用终端命令启动:
sudo /Library/PostgreSQL/13/bin/pg_ctl -D /Library/PostgreSQL/13/data start
3. 验证Unix套接字路径
PostgreSQL 13默认套接字路径可能不是/tmp/.s.PGSQL.5432,可以指定路径连接:
/Library/PostgreSQL/13/bin/psql -U postgres -h /Library/PostgreSQL/13/data
或者修改配置文件/Library/PostgreSQL/13/data/postgresql.conf,设置unix_socket_directories = '/tmp',保存后重启服务。
4. 检查端口占用情况
确认5432端口没被其他程序占用:
lsof -i :5432
如果有占用,可杀死对应进程,或者修改postgresql.conf里的port参数更换监听端口。
内容的提问来源于stack exchange,提问作者Muhammad Sarmad
相关产品推荐
相关产品推荐

