GreatSQL社区

搜索

reddey

PG报错信息"/tmp/.s.PGSQL.5432”的解决方法

reddey 已有 186 次阅读2025-5-22 10:12 |系统分类:运维实战


[postgres@master tmp]$ psql

psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: No such file or directory

       Is the server running locally and accepting connections on that socket?

从上面的报错信息看,和socket套接字有关。socket套接字连接,是一种本地连接的方式。很多数据库也有socket套接字连接,比如mysql,当然数据库也有通过IP、SSL等连接的方式。

打开postgresql.conf文件,发现确实有关于socket的配置内容如下:

unix_socket_directories = '/home/postgres/training/pgsql/data'  # comma-separated list of directories

 默认情况下,unix_socket_directories配置通常被注释掉的,并没有启用。从该参数的英语内容看,该参数中可以设置多个用逗号分隔的目录。如果要改变此参数的设置,也是要重启的。

和socket有关的,还有两个参数。如下所示

#unix_socket_group = ''                 # (change requires restart)

#unix_socket_permissions = 0777         # begin with 0 to use octal notation

上面的两个参数,默认也是不启用的。一个所属的组,一个关于套接字权限的,要以0开头,使用10进制计数法表示。

上面三个关于unix_socket都是不启用的,我就在配置文件将其注释不用。

然后使用pg_ctl reload -D $PGDATA,重新加载配置文件。

然后再重新登录,果然可以成功登录了。

[postgres@master ~]$ psql

psql (15.3)

Type "help" for help.

总结:PG数据库的启动,离不开配置文件参数内容的支撑。通常遇到故障时,大家可以根据报错信息做相应的判断。另外要注意,要根据日志内容进行故障判断。


评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2025-6-22 02:19 , Processed in 0.014850 second(s), 9 queries , Redis On.
返回顶部