Vous n'êtes pas identifié(e).
Bonjour,
j'ai un traitement batch prévu tous les soirs à 2h, depuis quelques mois.
Sauf qu'hier soir, ce traitement n'est pas passé.
Quand j'ai analysé la log postgres, je suis tombé sur deux erreurs:
unexpected EOF on client connection with an open transaction
en suite,
FATAL remaining connection slots are reserved for non-replication superuser connections
Juste avant 2h, j'ai plusieurs insertions en base qui echouent.
Est ce qu'on peut dire que chaque insert échoué correspond à une transaction mal fermée?
Un autre script, tjs peu avant 2h, lance plusieurs requêtes concurrentes ( le tout entre un BEGIN et un END).
Est-ce-que je peux dire que chaque requête monopolise une connexion?
Pour information,
je suis sur une 9.3
le max_connections est 200
Comment pourrai-je savoir la raison de mon problème?
Merci d'avance!
Cordialement
Hors ligne
Bonjour,
Oui chaque BEGIN correspondra avec une session.
Pour le "unexpected EOF..." ça sent la coupure réseau.
Cordialement,
Cordialement,
Sébastien.
Hors ligne
Quand il y a une coupure réseau, la connexion n'est pas rendu proprement au sreveur?
Dernière modification par Postgres.0 (17/10/2014 14:55:12)
Hors ligne
Est ce qu'on peut dire que chaque insert échoué correspond à une transaction mal fermée?
Tout dépend de ce que vous entendez par mal fermée ? une transaction est ouverte ou fermée. Mal fermé n'a pas de sens en soi.
Un autre script, tjs peu avant 2h, lance plusieurs requêtes concurrentes ( le tout entre un BEGIN et un END).
Est-ce-que je peux dire que chaque requête monopolise une connexion?
Tout dépend du script. Le script peut ouvrir une connexion et lancer toutes les requêtes sur la même connexion (auquel cas il monopolise une connexion). Il peut aussi ouvrir une connexion par requête, et peut du coup monopoliser plusieurs connexions.
Comment pourrai-je savoir la raison de mon problème?
En lisant le code du script, en lisant les traces de PostgreSQL. Mais il est possible que vous ne puissiez pas le déterminer parce que vous n'avez pas suffisamment de traces.
Quand il y a une coupure réseau, la connexion n'est pas rendu proprement au sreveur?
Là aussi, ça dépend Suivant la coupure, suivant le système d'exploitation et sa configuration, ça peut être immédiat comme dans quelques temps (style plusieurs minutes).
Guillaume.
Hors ligne
Merci beaucoup, c'est clair!
Hors ligne
Mon problème vient d'un souci au niveau réseau. Il y a eu une attaque qui a provoqué plusieurs coupures réseaux.
Hors ligne