安装后,我尝试运行该程序,并尝试了这里发布的许多建议,但无法解决问题:(
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 用户能够访问该区域。