创建与PostgreSQL的连接时"FATAL: the database system is shutting down"



我得到FATAL: the database system is shutting down错误,而创建PostgreSQL JDBC连接到PostgreSQL 9.2服务器。我从JDBC获得的特定异常路径在这里:

Caused by: org.postgresql.util.PSQLException: FATAL: the database system is shutting down
    at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:398)
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:173)
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:64)
    at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:136)
    at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:29)
    at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:21)
    at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:31)
    at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24)
    at org.postgresql.Driver.makeConnection(Driver.java:393)
    at org.postgresql.Driver.connect(Driver.java:267)

从各种日志文件中(从PostgreSQL,从我们的管理层,从使用PostgreSQL的应用程序),我没有看到任何数据库关闭实际发生(其他连接都像往常一样创建到PostgreSQL,没有关机是由我们的管理层发起的,等等),但是在PostgreSQL服务器日志中,我确实看到了相同时间戳的错误消息:

2014-06-16 12:30:00.736 GMT LOG:  connection received: host=127.0.0.1 port=38530
2014-06-16 12:30:00.737 GMT FATAL:  the database system is shutting down

在网上搜索,我了解到这个错误信息是使用每当PostgreSQL关闭连接。

为什么PostgreSQL拒绝给我一个新的连接?这可能是由某种资源争用引起的吗?我怎样才能从PostgreSQL本身得到更多的错误信息?

这个问题原来是由一个非常糟糕的PostgreSQL误用引起的,我们的服务器在同一个数据目录上启动了两个PostgreSQL实例(它删除了postmaster.pid并使用了一个新的端口号,所以正常的保护措施被绕过了),这就解释了为什么日志没有保存任何有用的信息——它们被PostgreSQL实例覆盖了,而PostgreSQL实例没有拒绝连接。实际的问题是由相互竞争的PostgreSQL实例之间的复杂交互引起的,我希望没有其他人也遇到这个问题!

我们在重启服务器时遇到了这个问题。在这种情况下,重启没有启动与PostgreSql的连接。只需检查状态:"/etc/init"。D/postgresql status",如果返回值是:"no server running",则直接启动:"/etc/init. D "。d/postgresql开始"

可能是硬盘空间不足

解决方案:

  1. brew remove postgresql
  2. 临时重命名锁文件:mv /tmp/.s.PGSQL.5432.lock /tmp/BK.s.PGSQL.5432.lockmv /tmp/.s.PGSQL.5432 /tmp/BK.s.PGSQL.5432
  3. brew install postgresql

享受吧!

相关内容

最新更新