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"?
在localhost上运行会得到相同的结果:
psql -h localhost ⏎ master ✱ ◼
psql: could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
服务状态:
sudo service postgresql status ⏎ master ✱ ◼
[sudo] password for david:
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Sat 2015-10-10 15:48:54 IDT; 26min ago
Process: 5470 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 5470 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/postgresql.service
Oct 10 15:48:54 david-X48-DS4 systemd[1]: Starting PostgreSQL RDBMS...
Oct 10 15:48:54 david-X48-DS4 systemd[1]: Started PostgreSQL RDBMS.
Oct 10 15:49:21 david-X48-DS4 systemd[1]: Started PostgreSQL RDBMS.
Oct 10 15:51:40 david-X48-DS4 systemd[1]: Started PostgreSQL RDBMS.
Oct 10 15:51:41 david-X48-DS4 systemd[1]: Started PostgreSQL RDBMS.
正在运行sudo netstat -nl | grep postgres
没有结果
我正在运行xubuntu 15.04
我的下一个故障排除步骤应该是什么?
答案 0 :(得分:5)
YASP(又一个系统问题)
PostialSQL在Xenial中的系统集成有点特殊。
postgresql服务单元只是一个假人,它应该通过服务依赖来触发你的实际数据库实例的启动。
这就是为什么它说ExecStart=/bin/true
- 单位的开始命令是/bin/true
,即。 “无所事事,成功”。
实例具有自己名为postgresql@<version>-<name>
的服务单元。
您可以通过运行命令
systemctl list-dependencies postgresql
脚本/lib/systemd/system-generators/postgresql-generator
为auto
下各自start.conf
文件中启动模式设置为/etc/postgresql
的所有实例生成依赖关系。
至少应该如何运作。
但是,每隔一段时间,这些依赖关系就会停止工作。
Systemd会高兴地报告Started PostgreSQL RDBMS.
,但实际上也没有成功。
因此,您的下一个问题排查步骤应该是:
list-dependencies
列出。start.conf
文件。答案 1 :(得分:0)
我有一些建议可能会有所帮助。
当您尝试连接到PostgreSQL时,请尝试:sudo -u postgres psql
;您的用户可能因对等身份验证而不同;所以检查pg_hba.conf
是否确定;此文件位于$PGDATA
目录中。
另一个建议是您可能需要检查启动日志和全局syslog。前者通常位于$PGDATA
pg_startup.log
,后者位于/var/log/syslog
。
答案 2 :(得分:0)
我遇到了同样的问题,但在我的情况下,这是由于重新启动服务器时没有重新安装数据驱动器造成的。
我知道这只是您问题的众多可能原因之一,但我认为值得一提!我安装了驱动器并重新启动了postgresql,现在一切正常。