Ubuntu 24.04下psql连接失败求助:找不到指定socket文件
解决psql连接socket文件不存在的问题
针对你在Ubuntu 24.04上遇到的psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed错误,可按以下步骤处理相关文件/配置:
检查服务状态并重启
先确认PostgreSQL服务是否在运行:sudo systemctl status postgresql如果服务未启动,执行启动命令:
sudo systemctl start postgresql同时设置开机自启避免后续问题:
sudo systemctl enable postgresql修复socket目录权限
/var/run/postgresql/目录权限异常会导致socket文件无法生成,检查权限:ls -ld /var/run/postgresql/正确权限应为属主
postgres:postgres、权限775,不符合则执行:sudo chown postgres:postgres /var/run/postgresql/ sudo chmod 775 /var/run/postgresql/之后重启服务。
清理残留PID文件
如果服务启动失败提示PID文件存在,找到对应17版本的PID文件并删除:sudo rm /var/lib/postgresql/17/main/postmaster.pid删除后重新启动PostgreSQL服务。
验证pg_hba.conf配置
打开默认路径的配置文件:sudo nano /etc/postgresql/17/main/pg_hba.conf确保本地连接配置符合Ubuntu默认规则(全新配置无需修改,确认以下行存在即可):
local all postgres peer
local all all peer
修改后保存并重启服务:sudo systemctl restart postgresql手动指定连接路径测试
若以上操作无效,尝试直接指定localhost或socket路径连接:psql -h localhost -U postgres或:
psql -U postgres -d postgres -h /var/run/postgresql/
内容的提问来源于stack exchange,提问作者user24537176
相关产品推荐
相关产品推荐

