问题解决:psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

错误提示:

psql: could not connect to server: No such file or directory
 Is the server running locally and accepting
 connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

 出现该问题的很多,以下是目前碰到的几种情况,之后碰到继续补充:

1.删除了/tmp路径中的.s.PGSQL.5432 与.s.PGSQL.5432.lock文件

 解决:重启数据库 $sudo service postgresql restart 

2.修改监听端口:之前用5434监听,后来改为5432,数据库启动,但是psql无法进入数据库,通过psql -p 5432可以进入。

 解决:安装时配置了端口PGPORT。修改~/.bash_profile或/etc/profile文件中的端口指定。

3.修改了postgresql.conf 中的unix_socket_directories

分析见两篇博文:
http://francs3.blog.163.com/blog/static/40576727201332594924829/
http://blog.csdn.net/huguangshanse00/article/details/40413549

引用其中:
"先来看看 socket 文件 "/tmp/.s.PGSQL.1921",其中 1921 是 pg 的端口号;

socket 文件可以通过postgresql.conf 文件以下参数配置:

#unix_socket_directory = ''
#unix_socket_permissions = 0777

备注:其中参数 unix_socket_directory 用来配置 socket 文件的目录,默认是 /tmp 目录参数 

unix_socket_permissions 用来设置 socket 文件的权限。"
        
解决方法:指定host,用psql -h 连接 

原文地址:https://www.cnblogs.com/feixiablog/p/7142022.html