2014-06-27 3 views
5

Ich erhalte FATAL: the database system is shutting down Fehler während PostgreSQL JDBC-Verbindungen zu einem PostgreSQL 9.2 Server erstellen. Der spezifische Ausnahme Weg ich von JDBC immer ist hier:„FATAL: das Datenbanksystem wird heruntergefahren“, während Verbindung zu PostgreSQL Schaffung

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) 

Von verschiedenen Protokolldateien (von PostgreSQL, von unserer Management-Schicht, aus der App mit PostgreSQL), ich sehe keine Datenbank Abschaltung tatsächlich passiert (andere Verbindungen zu PostgreSQL wie gewohnt erstellt werden, wurde keine Abschaltung unserer Managementschicht eingeleitet, etc.), aber in den PostgreSQL-Server-Protokollen mich mit dem gleichen Zeitstempel die Fehlermeldung nicht sehen:

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 

Online-Recherche, ich gelernt, dass diese Fehlermeldung immer dann verwendet wird, wenn PostgreSQL die Verbindungen herunterfährt.

Warum sollte PostgreSQL verweigert mir eine neue Verbindung zu geben? Könnte dies durch eine Art Ressourcenkonflikt verursacht werden? Wie kann ich mehr Informationen über den Fehler von PostgreSQL selbst erhalten?

+1

Schauen Sie weiter auf dem Datenbank-Server-Log, um zu sehen, warum es heruntergefahren wird. Hast du 'pg_ctl stop' oder sowas benutzt? –

+0

was ist PostgreSQL Port installiert ??? –

Antwort

5

Dieses Problem wurde durch einen sehr schlechten Missbrauch von PostgreSQL verursacht, wo unser Server zwei PostgreSQL-Instanzen im selben Datenverzeichnis gestartet hatte (postmaster.pid wurde gelöscht und eine neue Portnummer verwendet, so dass der normale Schutz gegen dieses Verhalten besteht) wurden umgangen), die erklärt, warum die Protokolle keine nützlichen Informationen enthalten haben - sie werden von der PostgreSQL-Instanz überschrieben wurden, die Verbindungen nicht verweigern. Das eigentliche Problem wurde durch eine komplexe Interaktion zwischen den konkurrierenden PostgreSQL-Instanzen verursacht, und ich hoffe, niemand sonst dieses Problem läuft in, wie gut!