重启后Postgresql停止工作

问题描述 投票:9回答:3
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

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

postgresql ubuntu
3个回答
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是否列出了您的实例。
  • 如果是这样,请调试systemd的依赖性处理。 (祝好运。)
  • 否则,请检查您的实例的start.conf文件。
  • 如果这些是正确的,请调试依赖项生成器。

0
投票

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

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

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.