Używam serwera PostgreSQL do celów produkcyjnych.
Kiedy odpalam takie zapytanie
select * from pg_stat_activity
na moim serwerze otrzymuję 98% takich zapytań
SHOW TRANSACTION ISOLATION LEVEL
a mój serwer akceptuje tylko 100 połączeń, więc nie mogę kontynuować.
Dlaczego to się dzieje? Jak mogę zablokować wszystkie te zapytania?
postgresql
postgresql-9.2
Yogesh Prajapati
źródło
źródło
psql
i robięselect query from pg_stat_activity;
... Zastanawiałem się również, dlaczego tak się dzieje; Domyślam się, że jest to mechanizm, dzięki któremu HikariCP utrzymuje „świeże” połączenia.Odpowiedzi:
Jeśli tam są; są tam, ale magicznie nie wyskoczyły z powietrza. Chociaż chciałbym, abyś wrócił i powiedział nam, co było w twoim przypadku, zazwyczaj jest to jedna z dwóch rzeczy,
Czasami ci faceci łączą się i rozpoczynają puste transakcje lub przygotowują transakcję. Zawsze jest to wynikiem złej biblioteki. Jest to usprawiedliwione, jeśli biblioteka jest nowa lub nowa w bazie danych. Jeśli biblioteka ma już lata i robi to, podejrzewam, że nie mają na nią zbyt wielu oczu i szukają alternatyw.
Z komentarzy
Chociaż jest to możliwe, jest to próba utrzymania świeżości połączenia, koszerny sposób na zrobienie tego jest mniej więcej taki
Zamiast tego możesz złożyć raport o błędzie, aby użyć tej metody.
źródło