psql:错误:通过套接字连接到服务器

psql:错误:通过套接字连接到服务器

安装后,我尝试运行该程序,并尝试了这里发布的许多建议,但无法解决问题:(

Ubuntu 20.04

root@root:~$ psql

psql:错误:通过套接字“/var/run/postgresql/.s.PGSQL.5432”连接到服务器失败:没有此文件或目录服务器是否在本地运行并接受该套接字上的连接?

答案1

过去我偶尔会遇到此错误,因为我的 postgresql.conf 文件设置为在不同的目录中查找套接字文件。在我们的服务器上,我们有以下设置:

unix_socket_directories = '/tmp,/var/run/postgresql'    
# comma-separated list of directories

如果您的 Postgres 数据库无法正确找到套接字文件的路径,它将无法启动。因此,在我的服务器上,当 /var/run/postgresql 目录丢失时,它将阻止 pg_ctl start 工作。该错误将显示在我的日志文件中。

基于此,检查“unix_socket_directories”参数的值,并确保它没有引用不存在的目录。

编辑:为了解决我的 Ubuntu 服务器上的问题,我只需发出 mkdir 命令并创建丢失的目录,并确保(chown/chmod)postgres 用户能够访问该区域。

相关内容