Przejdź do treści
Polski
  • Brak sugerowanych wyników, ponieważ pole wyszukiwania jest puste.

Jak rozwiązać problem z PostgreSQL, gdy w logach pojawia się błąd: „53300: sorry, too many clients already”?

Jak rozwiązać problem z PostgreSQL, gdy w logach pojawia się błąd: „53300: sorry, too many clients already”?

Problem

Błąd „53300: sorry, too many clients already” pojawia się w logach PostgreSQL, gdy w ustawieniach bazy danych osiągnięta zostaje maksymalna liczba równoczesnych połączeń (domyślnie 100).

Serwer Aplikacji Syteca otwiera nowe połączenie z bazą PostgreSQL za każdym razem, gdy agent Syteca przechodzi w tryb online. Dodatkowo, gdy agent rozpoczyna nową sesję na żywo, otwierane jest kolejne nowe połączenie albo wykorzystywane jest już istniejące (zgodnie z logiką systemu zarządzania bazą danych).

Jeśli agent jest online, ale chwilowo nie przesyła danych sesyjnych, połączenie może zostać zamknięte albo pozostać otwarte do obsługi przyszłych żądań (np. przejścia kolejnego agenta online, zapytań z Konsoli Zarządzania — otwierania dziennika audytowego, generowania raportów, podglądu sesji na żywo lub archiwalnych). Wszystkie zapytania ręczne z Konsoli Zarządzania mogą być obsługiwane przez jedno wspólne połączenie.

Na serwerach terminalowych system otwiera jedno połączenie, gdy agent na takim serwerze przechodzi online, oraz dodatkowe połączenia dla każdego użytkownika logującego się (przy starcie nowej sesji).

Rozwiązanie

Aby usunąć problem, należy zmienić ustawienia bazy danych:

  • Zatrzymaj usługę EkranServer.

  • Na komputerze z bazą PostgreSQL otwórz folder główny bazy danych (domyślnie): C:\Program Files\PostgreSQL\13\data

  • W tym folderze otwórz plik postgresql.conf i zmień wartość parametru max_connections, zastępując domyślne „100” większą wartością (np. „1000”).

Uwaga: Przed zapisaniem zmian w pliku postgresql.conf zalecamy również poprawną konfigurację bazy PostgreSQL w celu jej optymalizacji, zgodnie z artykułem: Konfigurowanie bazy danych PostgreSQL w celu optymalizacji maksymalnej wydajności.

  • Zapisz i zamknij plik.

  • Uruchom ponownie usługę PostgreSQL w konsoli usług systemu Windows.

  • Uruchom ponownie usługę EkranServer.

Sprawdzanie rozmiaru bazy danych i tabel

Możesz użyć poniższych poleceń SQL, aby sprawdzić rozmiar bazy danych lub jej tabel:

  • Rozmiar całej bazy w czytelnym formacie:

    SELECT pg_size_pretty(pg_database_size('ekranactivitydb'));
  • Rozmiar tabeli w czytelnym formacie:

    SELECT pg_size_pretty(pg_total_relation_size('dbo."SESSIONS"'));