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
我的下一个故障排除步骤应该是什么
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
文件。我有一些建议可能有所帮助。
当您尝试连接到PostgreSQL时尝试使用:sudo -u postgres psql
;您的用户可能因对等身份验证而不同;所以检查pg_hba.conf
是否确定;此文件位于$PGDATA
目录中。
另一个建议是您可能需要检查启动日志和全局syslog。前者通常在$PGDATA
作为pg_startup.log
而后者是/var/log/syslog
。
我有同样的问题,但在我的情况下,这是由于重新启动服务器时数据驱动器没有被重新安装。
我知道这只是您问题的众多可能原因之一,但我认为值得一提!我安装了驱动器并重新启动了postgresql,现在一切正常。