在postgres下启动psql的时候出现了这个问题:
psql: 无法联接到服务器: 没有那个文件或目录
服务器是否在本地运行并且在 Unix 域套接字
"/var/run/postgresql/.s.PGSQL.5432"上准备接受联接?

这是因为postgresql没有启动的原因,显示psql默认找的socket文件在/var/run/postgresql/下。
用strace追踪一下

学过Linux我们知道/var目录是一个运行时目录,而且和我的安装目录/usr/local/postgresql/不匹配。它应该去/usr/local/postgresql/lib找库文件。按照这个思路检查用户环境变量设置发现缺少相关设置。
解决办法:
vim ~/.bash_profile
添加:export LD_LIBRARY_PATH=/usr/local/postgresql/lib
source ./.bash_profile
之后就能psql进行连接了。

喜欢的小伙伴就点赞收藏关注支持一下,您的支持是对我最大的鼓励。
在尝试启动psql时遇到'无法联接到服务器: 没有那个文件或目录'的问题,原因是postgresql未启动,且默认查找的Unix域套接字路径不正确。解决方案是更新环境变量LD_LIBRARY_PATH,在~/.bash_profile中添加'/usr/local/postgresql/lib',然后重新加载配置。执行后可以成功连接到psql。
2150

被折叠的 条评论
为什么被折叠?



