149 votes

org.postgresql.util.PSQLException : FATAL : désolé, trop de clients déjà

J'essaie de me connecter à une base de données Postgresql, je reçois l'erreur suivante :

Erreur :org.postgresql.util.PSQLException : FATAL : désolé, trop de clients déjà

Que signifie l'erreur et comment la corriger ?

Mon fichier server.properties est le suivant :

serverPortData=9042
serverPortCommand=9078
trackConnectionURL=jdbc:postgresql://127.0.0.1:5432/vTrack?user=postgres password=postgres
dst=1
DatabaseName=vTrack
ServerName=127.0.0.1
User=postgres
Password=admin
MaxConnections=90
InitialConnections=80
PoolSize=100
MaxPoolSize=100
KeepAliveTime=100
TrackPoolSize=120
TrackMaxPoolSize=120
TrackKeepAliveTime=100
PortNumber=5432
Logging=1

7voto

JK Tomar Points 39

Pas besoin d'augmenter les MaxConnections & InitialConnections. Fermez juste vos connexions après avoir fait votre travail. Par exemple, si vous créez une connexion :

try {
     connection = DriverManager.getConnection(
                    "jdbc:postgresql://127.0.0.1/"+dbname,user,pass);

   } catch (SQLException e) {
    e.printStackTrace();
    return;
}

Après avoir effectué votre travail, une connexion étroite :

try {
    connection.commit();
    connection.close();
} catch (SQLException e) {
    e.printStackTrace();
}

5voto

Delan Azabani Points 33013

Les lignes incriminées sont les suivantes :

MaxConnections=90
InitialConnections=80

Vous pouvez augmenter les valeurs pour permettre plus de connexions.

3voto

Brayan Escobedo Points 31

Vous devez fermer toutes vos connexions par exemple : Si vous INSÉREZ un relevé DANS, vous devez fermer le relevé et votre connexion de cette manière :

statement.close();
Connexion.close():

Et si vous faites une déclaration SELECT, vous devez fermer la déclaration, la connexion et le jeu de résultats de cette manière :

resultset.close();
statement.close();
Connexion.close();

J'ai fait ça et ça a marché

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X