Ich benutze postgres DB-Server für meine Produktion verwenden.
Wenn ich eine Anfrage select * from pg_stat_activity
auf meinem Postgresql-Server auslöst,
Also bekomme ich 98% der Anfragen wie "SHOW TRANSACTION ISOLATION LEVEL"
und mein postgresql Server akzeptiert nur 100 Verbindungen.
und mein Server bleibt stecken.
also kann ich nicht weiter vorgehen.
Hat jemand eine Idee, warum das passiert ist, gibt es eine Idee, diese alle Fragen zu blockieren. oder warum diese Abfrage so viele Verbindungen erzeugt?.
SHOW TRANSACTION ISOLATION LEVEL
wird wahrscheinlich aufgerufen, wenn Ihr Verbindungspool eine Verbindung öffnet
Haben Sie versucht, die Größe Ihres Verbindungspools zu reduzieren, versuchen Sie, ihn auf 1 zu setzen, und Sie werden vielleicht eine bessere Vorstellung davon bekommen, was vor sich geht.
Ich hatte gerade ein ähnliches Problem heute, das ist, wie ich diesen Beitrag gefunden habe, fand ich max connection reached
nur in meiner Testumgebung, der Grund ist, dass mein Test-Framework (ScalaTest) scheint das Datenbankobjekt in ORM für jeden zu instanziieren Testfall.
Zum Beispiel haben meine Postgres
max_connections = 100
connection pool = 100
Es sollte in Ordnung sein, wenn nur eine App mit der Datenbank verbunden ist, aber im Test wird der Verbindungspool so viele Instanzen wie meine Testfälle instanziiert, so dass er das Maximum erreicht.
Es gibt nicht annähernd genug Informationen, um in Ihrer Beschreibung zu beginnen, dies zu lösen. Es folgt ein allgemeiner Ratschlag zur Fehlerbehebung.
Dies wird gesagt, meine Vermutung ist, dass diese von einem db-Framework stammen, das die Client-Software verwendet, um eine Verbindung herzustellen. Und meine Vermutung ist, dass Sie wahrscheinlich ein db connecction leak haben als viele Abfragen, die nutzloses Zeug machen.
Tags und Links transactions postgresql-9.2