Comment permettre FATAL: La limite de connexion est dépassée pour les non-superposteurs

J'ai écrit le code java Pour insert de masse. J'utilise l'équipe copy Pour importer et créer divers objets de connexion pour différentes tables, mais lors de l'exécution du programme, il émet les erreurs suivantes:


FATAL: connection limit exceeded for non-superusers
Invité:

Francis

Confirmation de:

Vous avez dépassé la limite de connexion de serveur PostgreSQL. Il existe des connexions réservées pour superutilisateur.

Pour augmenter la limite de connexion, vous devez changer postgresql.conf /défaut 100/
C'est dans votre répertoire de données PostgreSQL.


cat postgresql.conf | grep max_connection max_connections = 100
# /change requires restart/
# Note: Increasing max_connections costs ~400 bytes of shared memory per
# max_locks_per_transaction * /max_connections + max_prepared_transactions/


Augmenter la limite et redémarrer l'instance PostgreSQL.

AVERTISSEMENT: L'augmentation de la limite de connexion affectera la quantité de mémoire.

Essayez d'optimiser la connexion avec le pool de connexion au niveau de l'application ou au niveau de la base de données.
sur le PostgreSQL vous pouvez utiliser
http://www.pgpool.net/mediawik ... _Page
.

Enzo

Confirmation de:

Utilisez-vous des connexions de piscine? Vérifiez si les connexions sont correctement fermées dans votre code. Cela doit être fait dans le bloc. try-finally:


Connection connection = dataSource.getConnection//;
try {
....
}
finally {
connection.close//;
}


Si vous avez vraiment besoin d'un grand nombre de connexions, définissez la propriété. max_connections-property à postres par conséquent.

http://www.postgresql.org/docs ... .html

Pour répondre aux questions, connectez-vous ou registre