Domyślnie PostgreSQL obsługuje 115 jednoczesnych połączeń, 15 dla superużytkowników i 100 połączeń dla innych użytkowników. Jednak czasami może być konieczne zwiększenie maksymalnej liczby połączeń w PostgreSQL w celu obsługi większej współbieżności. Jeśli jest zbyt wiele jednoczesnych połączeń z bazą danych PostgreSQL, może to spowodować wyświetlenie komunikatu o błędzie „KRYTYCZNY:przepraszam, za dużo klientów już” i odrzucenie połączeń przychodzących. Oto jak zwiększyć maksymalną liczbę połączeń w PostgreSQL.
Jak zwiększyć maksymalną liczbę połączeń w PostgreSQL
Zwiększenie maksymalnej liczby połączeń w PostgreSQL jest dość łatwe. Maksymalna liczba połączeń w PostgreSQL jest przechowywana w zmiennej serwera max_connections . Przyjrzymy się, jak zmodyfikować tę zmienną.
1. Otwórz konfigurację PostgreSQL
Otwórz plik konfiguracyjny PostgreSQL w
Linux: /var/lib/pgsql/{version_number}/data/postgresql.conf Windows: C:\Program Files\PostgreSQL\{version_number}\data\postgresql.conf
Na przykład, jeśli masz PostgreSQL 9.3, jego plik konfiguracyjny będzie znajdował się pod adresem
Linux: /var/lib/pgsql/9.3/data/postgresql.conf Windows: C:\Program Files\PostgreSQL\9.3\data\postgresql.conf
Przeczytaj bonus:Wskazówki dotyczące dostrajania wydajności PostgreSQL
2. Zwiększ maksymalną liczbę połączeń w PostgreSQL
Załóżmy, że chcesz zwiększyć maksymalną liczbę połączeń do 250. W takim przypadku zmień
max_connections = 100
do
max_connections =
250
Może być również konieczne zwiększenie pamięci przydzielonej do przechowywania danych w pamięci podręcznej. Jest to kontrolowane przez zmienną shared_buffers. Więc zmień
shared_buffers = 24MB
do
shared_buffers = 80MB
Możesz zmienić powyższą wartość pamięci zgodnie z wymaganiami.
Przeczytaj bonus:5 najlepszych narzędzi do monitorowania zapytań PostgreSQL
3. Zrestartuj serwer PostgreSQL
Zrestartuj serwer PostgreSQL, aby zastosować zmiany
$ sudo service restart postgresql
LUB
# /etc/init.d/postgresql restart
Mamy nadzieję, że ten artykuł pomoże Ci zwiększyć maksymalną liczbę połączeń w PostgreSQL.