You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac M1官方安装PostgreSQL16遇/tmp/.s.PGSQL.5432连接失败求非brew方案

非Homebrew环境下PostgreSQL 16连接错误的解决方案

1. 确认PostgreSQL服务状态并重启

  • 检查服务是否运行:
    sudo launchctl list | grep postgresql
    
    无输出或状态值非0,说明服务未启动。
  • 启动服务(官网16版本默认plist路径):
    sudo launchctl load /Library/LaunchDaemons/com.edb.launchd.postgresql-16.plist
    
  • 如需重启,先停止再加载:
    sudo launchctl unload /Library/LaunchDaemons/com.edb.launchd.postgresql-16.plist
    sudo launchctl load /Library/LaunchDaemons/com.edb.launchd.postgresql-16.plist
    
    找不到plist文件的话,去/Library/LaunchDaemons目录下找带postgresql-16的文件即可。

2. 调整socket路径配置

  • 打开PostgreSQL配置文件,默认路径:
    open /Library/PostgreSQL/16/data/postgresql.conf
    
  • 找到unix_socket_directories参数,确保包含/tmp,修改后如下:
    unix_socket_directories = '/tmp,/Library/PostgreSQL/16/data'
    
  • 保存后重启服务。

3. 临时指定socket路径连接

  • 不想改配置的话,直接在psql命令里指定socket目录:
    psql -h /Library/PostgreSQL/16/data -U postgres
    
    把postgres换成你的实际用户名即可。

4. 修复数据目录权限

  • 检查数据目录权限:
    ls -ld /Library/PostgreSQL/16/data
    
  • 权限不对的话,修改为postgres用户所有:
    sudo chown -R postgres:postgres /Library/PostgreSQL/16/data
    sudo chmod 700 /Library/PostgreSQL/16/data
    
  • 重启服务后再尝试连接。

5. 重新初始化数据库(谨慎!会丢失现有数据)

  • 前面方法都没用的话,试试重新初始化:
    1. 停止服务:
      sudo launchctl unload /Library/LaunchDaemons/com.edb.launchd.postgresql-16.plist
      
    2. 备份现有数据(必须做!):
      sudo cp -r /Library/PostgreSQL/16/data /Library/PostgreSQL/16/data_backup
      
    3. 初始化新数据目录:
      sudo -u postgres /Library/PostgreSQL/16/bin/initdb -D /Library/PostgreSQL/16/data
      
    4. 重新加载服务:
      sudo launchctl load /Library/LaunchDaemons/com.edb.launchd.postgresql-16.plist
      

内容的提问来源于stack exchange,提问作者Bosco Tsin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 06:33:13