解决Unix domain socket “/var/run/postgresql/.s.PGSQL.5432问题

事情是这样的,服务器突然宕机了,然后强制重启后,发现psql一直提示这个报错,在网上看了好多资料都尝试过都解决不了。。。一直提示connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

root@iZuf65h4aroldogdrm332jZ:~# psql
psql: error: 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"?

解决办法按照以下命令执行。(如果还不行,那就尝试把/var/run/下的postgresql文件夹直接删除掉后,再去重复一次下面操作。)
给文件权限

root@iZuf65h4aroldogdrm332jZ:/run# sudo chmod 750 /var/lib/postgresql/12/main

查看该文件的权限(drwxr-x---)

root@iZuf65h4aroldogdrm332jZ:/run# ls -ld /var/lib/postgresql/12/main
drwxr-x--- 19 postgres postgres 4096 Jul 30 14:18 /var/lib/postgresql/12/main

然后依次执行一下重启

root@iZuf65h4aroldogdrm332jZ:/run# sudo service postgresql stop
root@iZuf65h4aroldogdrm332jZ:/run# sudo service postgresql start

如果执行psql出现这个role “root” does not exist则用以下命令执行

psql -h 127.0.0.1 -U postgres

root@iZuf65h4aroldogdrm332jZ:/run# psql
psql: error: FATAL:  role "root" does not exist

会发现。。居然进去了。。。。

root@iZuf65h4aroldogdrm332jZ:/run# psql -h 127.0.0.1 -U postgres
psql (12.16 (Ubuntu 12.16-0ubuntu0.20.04.1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.

postgres=>

在这里插入图片描述

本地连接远程Linux中的Postgresql

如果你已经配置了pg_hba.conf后远程连接不上Postgresql,那就去把防火墙规则先删除再配置上即可,我这里已阿里云为例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐