重启后Postgresql停止工作

时间:2015-10-10 13:17:08

标签: postgresql ubuntu

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

我的下一个故障排除步骤应该是什么?

3 个答案:

答案 0 :(得分:5)

YASP(又一个系统问题)

PostialSQL在Xenial中的系统集成有点特殊。 postgresql服务单元只是一个假人,它应该通过服务依赖来触发你的实际数据库实例的启动。 这就是为什么它说ExecStart=/bin/true - 单位的开始命令是/bin/true,即。 “无所事事,成功”。

实例具有自己名为postgresql@<version>-<name>的服务单元。 您可以通过运行命令

来查看这些内容
systemctl list-dependencies postgresql

脚本/lib/systemd/system-generators/postgresql-generatorauto下各自start.conf文件中启动模式设置为/etc/postgresql的所有实例生成依赖关系。

至少应该如何运作。 但是,每隔一段时间,这些依赖关系就会停止工作。 Systemd会高兴地报告Started PostgreSQL RDBMS.,但实际上也没有成功。

因此,您的下一个问题排查步骤应该是:

  • 检查您的实例是否按list-dependencies列出。
  • 如果是,请调试systemd的依赖性处理。 (祝你好运。)
  • 否则,请检查您的实例“start.conf文件。
  • 如果这些是正确的,请调试依赖项生成器。

答案 1 :(得分:0)

我有一些建议可能会有所帮助。

当您尝试连接到PostgreSQL时,请尝试:sudo -u postgres psql;您的用户可能因对等身份验证而不同;所以检查pg_hba.conf是否确定;此文件位于$PGDATA目录中。

另一个建议是您可能需要检查启动日志和全局syslog。前者通常位于$PGDATA pg_startup.log,后者位于/var/log/syslog

答案 2 :(得分:0)

我遇到了同样的问题,但在我的情况下,这是由于重新启动服务器时没有重新安装数据驱动器造成的。

我知道这只是您问题的众多可能原因之一,但我认为值得一提!我安装了驱动器并重新启动了postgresql,现在一切正常。