PostgreSQL Entwicklungen: "PSQLException: FATAL: Entschuldigung, zu viele Clients bereits"

8

Ich versuche einen dev PostgreSQL Server einzurichten. Es läuft und ich kann Rollen, Tabellen usw. von der Kommandozeile aus erstellen. Wenn ich versuche, Entwicklungen mit Play anzuwenden, erhalte ich den folgenden Fehler:

%Vor%

Ich kann eine Verbindung herstellen und wenn ich einen Syntaxfehler absichtlich einfüge, wird der Syntaxfehler zurückgegeben, sodass ich weiß, dass Play eine Verbindung zur Datenbank herstellen kann. Nachdem die Evolution erfolgreich angewendet wurde, erhalte ich jedoch den oben gezeigten Fehler.

Ich bin nicht sehr versiert in PostgreSQL-Administration, also bin ich mir nicht sicher, ob das Problem mit Play oder meiner PostgreSQL-Installation ist. Ich habe es gerade mit Herokus Postgres.app auf einem Mac mit Mountain Lion installiert.

Hier wird was auf die Konsole geschrieben:

%Vor%

Danke!

    
Ryan 27.12.2012, 03:55
quelle

3 Antworten

2

Sie können die Anzahl der von Ihrer Anwendung verwendeten Verbindungen reduzieren. Hatte die gleichen Fehler auf einem Mac installiert. Wie in der offiziellen Dokumentation gezeigt:

%Vor%     
i.am.michiel 27.12.2012, 12:37
quelle
5

Die Anzahl der erlaubten Verbindungen wird in postgresql.conf mit der GUC ("Grand Unified Configuration") max_connections . Standard ist 100.

Aber bevor du mit der Einstellung bastelst, musst du dich fragen: Wo kamen all diese anderen 100 Verbindungen her, bevor dein Cluster das Limit erreicht hat? Das deutet normalerweise auf einen Fehler in Ihrer Installation oder Ihrem Programm hin!

Sie könnten auch daran interessiert sein, Pooling von Verbindungen und dieses Artikel über die Anzahl der Verbindungen im Postgres Wiki.

    
Erwin Brandstetter 27.12.2012 05:16
quelle
3

Postgres.app ist standardmäßig auf max_connections = 10. Siehe ~/Library/Application Support/Postgres/var/postgresql.conf .

Ich habe das behoben, indem ich max_connections auf 50 erhöht habe. Auf Mountain Lion musste ich shared_buffers auf 500kB reduzieren, damit Postgres starten konnte.

    
Mike White 06.02.2013 00:44
quelle