Standaard ondersteunt PostgreSQL 115 gelijktijdige verbindingen, 15 voor superusers en 100 verbindingen voor andere gebruikers. Soms moet u echter het maximale aantal verbindingen in PostgreSQL verhogen om meer gelijktijdigheid te ondersteunen. Als er te veel gelijktijdige verbindingen zijn met de PostgreSQL-database, kan het de foutmelding "FATAL:sorry, too much clients reeds" geven en inkomende verbindingen weigeren. Hier leest u hoe u het maximale aantal verbindingen in PostgreSQL kunt verhogen.
Hoe u het maximale aantal verbindingen in PostgreSQL kunt verhogen
Het is vrij eenvoudig om het maximale aantal verbindingen in PostgreSQL te verhogen. Het aantal maximale verbindingen in PostgreSQL wordt opgeslagen in de servervariabele max_connections . We zullen bekijken hoe we deze variabele kunnen wijzigen.
1. Open PostgreSQL-configuratie
Open het PostgreSQL-configuratiebestand op
Linux: /var/lib/pgsql/{version_number}/data/postgresql.conf Windows: C:\Program Files\PostgreSQL\{version_number}\data\postgresql.conf
Als u bijvoorbeeld PostgreSQL 9.3 heeft, staat het configuratiebestand op
Linux: /var/lib/pgsql/9.3/data/postgresql.conf Windows: C:\Program Files\PostgreSQL\9.3\data\postgresql.conf
Bonus lezen:tips voor het afstemmen van prestaties van PostgreSQL
2. Verhoog het maximale aantal verbindingen in PostgreSQL
Stel dat u het maximale aantal verbindingen wilt verhogen tot 250. Wijzig in dat geval
max_connections = 100
naar
max_connections =
250
Mogelijk moet u ook het toegewezen geheugen voor het opslaan van cachegegevens vergroten. Dit wordt geregeld door de variabele shared_buffers. Dus verander
shared_buffers = 24MB
naar
shared_buffers = 80MB
U kunt de bovenstaande geheugenwaarde naar wens wijzigen.
Bonus Lezen:Top 5 PostgreSQL Query Monitoring Tools
3. Start de PostgreSQL-server opnieuw
Start de PostgreSQL-server opnieuw om wijzigingen toe te passen
$ sudo service restart postgresql
OF
# /etc/init.d/postgresql restart
Hopelijk helpt dit artikel je om het maximale aantal verbindingen in PostgreSQL te vergroten.