Vous n'êtes pas identifié(e).
Bonjour.
Savez-vous comment ne pas remonter de message dans le log de journalisation d’événements PostgreSql lorsqu’il n’y a pas d’évènements particuliers ?
Dans une application Client/serveur, lorsqu’un client est connecté à la base, cela génère une quantité innombrable de messages à la seconde dans le journal Log (voir ci-dessous).
Merci.
Exemple :
Avec le paramètre Log_line_prefix désactivé
WARNING: there is no transaction in progress
WARNING: there is no transaction in progress
WARNING: there is no transaction in progress
WARNING: there is no transaction in progress
WARNING: there is no transaction in progress
WARNING: there is no transaction in progress
Hors ligne
Bonjour.
Ce type de message n'est pas normal, et il s'agit probablement d'un problème sur le client. Ce message est par exemple renvoyé si une instruction COMMIT est envoyé au serveur alors qu'il n'y a pas eu de BEGIN au préalable. Il faudrait donc voir si c'est bien la cause de ces messages et si c'est le cas corriger le client.
Julien.
https://rjuju.github.io/
Hors ligne
C'est un événement important. Cela veut dire qu'il y a un client de la base de données qui fait des COMMIT sans avoir fait de BEGIN. Autrement dit, s'il essayait de faire un ROLLBACK, cela ne fonctionnerait pas non plus et les données modifiées resteraient modifiées. Je trouve que c'est un problème important.
Maintenant, si vous voulez le désactiver, vous devez désactiver tous les messages de niveau WARNING dans les traces. Pour cela, il vous faut configurer log_min_messages à error au minimum. Mais, encore une fois, plutôt que de cacher l'erreur, il serait mieux de la corriger (si c'est possible).
Guillaume.
Hors ligne
Cela signifie qu'il a été fait un COMMIT ou un ROLLBACK inutile.
Cela dépend donc de l'application (il faudrait voir comment l'application gère les transactions).
Le log_line_prefix gère juste le préfixe, c'est plutôt du côté de log_min_messages que vous devriez regarder si vous voulez ne pas voir les warnings.
http://docs.postgresqlfr.org/9.1/runtim … gging.html
Hors ligne
Merci.
Mais quelle est la valeur minimal de log_min_messages (DEBUG1, LOG, NOTICE, ...) ?
Sachant que j'ai paramétré <log_statement=mod> afin de ne recueillir que les modifications effectuées dans la base et sans les SELECT.
Hors ligne
La valeur minimale est DEBUG5 mais je ne vois pas bien le lien avec votre problème.
Guillaume.
Hors ligne
Merci.
J'ai essayé avec LOG, ça fonctionne en attendant que l'éditeur de l'application client/serveur (GéoConcept) que nous utilisons, corrige ce problème.
Encore merci.
Hors ligne
Si vous mettez le niveau LOG, vous ne verrez aucune erreur. Ce qui est, à mon avis, une terrible erreur de votre part. Le moindre problème que PostgreSQL détectera ne sera pas enregistré dans les traces. Pourquoi ne mettez-vous pas error comme je vous indiquais ci-dessus ?
Guillaume.
Hors ligne
Oui effectivement, je vais mettre ERROR.
Encore merci.
Hors ligne