Arval SQLException: FATAL: Entschuldigung, zu viele Clients sind bereits in Postgres

8

Ich benutze eine Datenbank in PostgreSQL 9.1, in der Einträge aus einem anderen Programm kommen. Ich sende eine Anfrage von Ajax nach 6 Sekunden, um das letzte entry.tomcat Ausgabefenster zu holen, zeigt die Ausnahme ---

%Vor%

und das Programm funktioniert auch danach richtig.   Wenn ich meine Postgres mit Abfrage überprüfe ---

%Vor%

es zeigt, dass die Verbindung kontinuierlich zunimmt, aber ich schließe die Verbindung nach jeder Anfrage.Ich benutze Netbeans und Struts 1.3.

%Vor%

// und close-Methode in Verbindung Bean ist

%Vor%

Jedes Mal, wenn es auf der Konsole gedruckt wird "Con geschlossen ist";

    
vikas malik 21.03.2012, 04:43
quelle

2 Antworten

10

Sie können die max_connections in Postgres erhöhen, das ist nicht die Lösung obwohl. Sie haben Ressourcenlecks. Es könnte jede sein - Verbindung nicht geschlossen, Ergebnismenge nicht geschlossen. Bitte gehen Sie zurück und überprüfen Sie den Code.

Erwägen Sie die Verwendung einer Pooling-Bibliothek wie c3p0 / BoneCp

Eine allgemeine Diskussion zum Pooling von Verbindungen ist hier (Danke an @ sinisa229 mihajlovski)

    
Jayan 21.03.2012, 06:44
quelle
19

Um das Verbindungslimit zu erhöhen, mögen Sie das folgende Dokument.

Diese Lösung wurde auf ubuntu 12.04 getestet.

1. Nehmen Sie folgende Änderungen in der postgresql.conf-Datei vor:

Öffnen Sie /etc/postgresql/9.1/main/postgresql.conf

%Vor%

Referenz: shared_buffers sollte kleiner als shmmax sein

2. Befehle zum Überprüfen von shmmax:

%Vor%

Referenz: Anpassen von shmmax und shmall

3. Erhöhen Sie die Größe von shmmax:

Führen Sie den folgenden Befehl aus:

%Vor%

und schreiben Sie oben in /etc/sysctl.conf file:

%Vor%

Referenz: SHMMAX in Ubuntu

4. Starten Sie postgresql neu

%Vor%

Links:

Ссылка

Ссылка

    
Sachin M Sharma 07.01.2013 07:46
quelle

Tags und Links