Aller au contenu

Vue imprimable multi-pages de cette section. .

Retour à la version par défaut.

Historique des versions

Historique des modifications complet de pgBadger 9.x à 13.x, normalisé à partir du fichier ChangeLog upstream

Le site officiel publie les annonces de version directement sur sa page d’accueil. Cette page s’arrête à la version 12.4 et répète accidentellement les versions 11.1 à 11.3 avec des dates contradictoires. Cette édition utilise comme référence canonique le dépôt upstream verrouillé ChangeLog, supprime uniquement ces rendus en double, et ajoute les versions ultérieures 13.x. Les entrées sont conservées en intégralité et triées par ordre décroissant de date au sein de chaque série.

SérieVersions inclusesPremière – dernière versionPage
13.x13.0–13.22024-12-08 – 2025-12-29Lire 13.x
12.x12.0–12.42022-09-13 – 2023-12-25Lire 12.x
11.x11.0–11.82019-06-25 – 2022-04-08Lire 11.x
10.x10.0–10.32018-09-09 – 2019-02-14Lire 10.x
9.x9.0–9.22016-09-02 – 2017-07-27Lire 9.x

Pour les archives et ressources téléchargeables, utilisez GitHub Releases . Les dates de publication indiquées dans cette section correspondent à l’historique source d’origine ; elles ne correspondent pas à l’heure de téléchargement de cette version documentaire.

1 - Notes de version pgBadger 13.x

Notes de version complètes de la série pgBadger 13.x

Ces entrées conservent l’intégralité de l’historique des modifications upstream pour pgBadger 13.x, du plus récent au plus ancien.

v13.2 · 2025-12-29

Il s’agit d’une version de maintenance de pgBadger qui corrige des problèmes et applique des correctifs signalés par les utilisateurs depuis la dernière version.

  • Corriger la normalisation qui ne traitait pas correctement les chaînes entre guillemets simples équilibrées, y compris les guillemets échappés à l’intérieur. Remerciements à Bertrand Bourgier pour le rapport.
  • Corriger les exigences relatives aux espaces réservés dans la documentation.
  • Corriger le cas où aucune entrée d’exemple d’erreur n’était rapportée. Remerciements à john doe pour le rapport.
  • Corriger un problème potentiel de priorité entre ! et %s. Remerciements à Luca Santarelli et Philipp Trulson pour le rapport.
  • Mettre à jour le code pgFormatter à la version 5.9
  • Ajouter une action CI GitHub pour le test lors de la poussée de commit.
  • Corriger l’analyse du placeholder %r dans log_line_prefix. Remerciements à nike7o0 pour le rapport.
  • Corriger l’avertissement relatif à une valeur non initialisée. Remerciements à Ales Zeleny pour le rapport.
  • Améliorer la documentation des options SSH pour l’analyse des journaux PostgreSQL avec des exemples. Remerciements à Ulrich Konrad pour le correctif.
  • Ajouter la commande –ssh-sudo pour exécuter des commandes en SSH en tant que sudo. Remerciements à Andrew Jackson pour le correctif.
  • Corriger un problème potentiel de priorité entre ! et l’égalité de chaîne. Remerciements à Adrien Nayrat pour le rapport.
  • Corriger l’analyse des statistiques de pgbouncer. Remerciements à mrgtt pour le rapport.

v13.1 · 2025-03-16

Il s’agit d’une version de maintenance de pgBadger qui corrige des problèmes signalés par les utilisateurs depuis la dernière version et ajoute certaines nouvelles fonctionnalités :

  • Ajouter un nouveau rapport sur le débit de vacuum avec un graphique affichant le vacuum par table consommant le plus de CPU. Le rapport de sortie sous forme de tableau inclut les temps d’I/O lecture et écriture par table ainsi que le temps CPU écoulé par table. Merci à Ales Zeleny pour la demande de fonctionnalité. Cette mise à jour ajoute également les pages gelées et les tuples au rapport Vacuum par table.
  • Ajouter l’option –no-fork à des fins de débogage pour ne pas créer de processus fils du tout. Merci à Ales Zeleny pour la demande de fonctionnalité.
  • Ajouter les millisecondes à la sortie brute au format CSV. Merci à Henrietta Dombrovskaya pour la demande de fonctionnalité.
  • Ajouter le nom du fichier de journal aux rapports d’échantillonnage lorsqu’un traitement multiple de fichiers est effectué. Merci à Adrien Nayrat pour la demande de fonctionnalité.

Voici la liste complète des modifications et des remerciements :

  • Corriger l’analyse des paramètres liés. Remerciements à Thomas Kotzian pour le correctif
  • Appliquer le filtre de requête aux requêtes sur plusieurs lignes. Remerciements à Benjamin Jacobs pour le correctif
  • Mettre à jour les résultats des tests suite aux modifications du stockage du nom de fichier journal
  • Corriger le niveau de message ERROR par rapport à LOG dans la sortie JSON. Remerciements à Philippe Viegas pour le rapport.
  • Supprimer l’importation de la méthode tmpdir non exportée depuis File::Temp. Remerciements à kmoradha pour le rapport.

v13.0 · 2024-12-08

Il s’agit d’une version majeure de pgBadger qui corrige les problèmes signalés par les utilisateurs depuis la dernière version et ajoute certaines nouvelles fonctionnalités :

  • Ajouter deux nouvelles options permettant de redéfinir les bornes des histogrammes de temps de requête et de session. –histogram-query VAL : utiliser des bornes personnalisées pour l’histogramme des temps de requête. Bornes par défaut en millisecondes : 0,1,5,10,25,50,100,500,1000,10000 –histogram-session VAL : utiliser des bornes personnalisées pour l’histogramme des temps de session. Bornes par défaut en millisecondes : 0,500,1000,30000,60000,600000,1800000,3600000,28800000 Merci à JosefMachytkaNetApp pour la demande de fonctionnalité.
  • Ajouter le support de l’affichage du plan auto_explain pour les formats de journalisation csv et json. Merci à zxwsbg et à Alexander Rumyantsev pour le rapport.
  • Ajouter trois messages LOG qui n’étaient pas signalés comme événements : fin de fichier inattendue, paquet de démarrage incomplet et blocage détecté en attente. Merci à dottle pour le rapport.

Problèmes de compatibilité descendante :

  • Modifiez la manière dont les événements de niveau LOG signalés dans les rapports Événements sont stockés. Certains d’entre eux étaient encore signalés et comptés comme des erreurs au lieu d’être traités comme des entrées de niveau LOG. La correction consiste à les stocker et à les rapporter comme des EVENTLOG afin de les distinguer des requêtes. Ce changement introduit une rupture de compatibilité descendante lorsque pgBadger est utilisé en mode incrémentiel. Vous aurez simplement un comportement double durant la semaine de la mise à jour. Merci à Matti Linnanvuori pour le signalement.

Correctifs de bogues :

  • Requêtes non rapportées générant le plus d’annulations en raison de statement_timeout.
  • Mettre à jour les tests de régression
  • Corriger le formatage du plan d’exploration extrait au format CSV.
  • Corriger la perte de données d’auto-vacuum dans les rapports JSON : Durée moyenne d’auto-vacuum, tuples supprimés par table et nombre de vacuums par heure dans le rapport d’activité d’auto-vacuum. Remerciements à Ales Zeleny pour le correctif.
  • Corriger la ligne orpheline non associée aux requêtes consommant le plus de temps. Remerciements à Henrietta Dombrovskaya pour le signalement. Corriger l’utilisation d’une valeur non initialisée dans la correspondance de motif. Remerciements à Junior Dias pour le correctif.
  • Appliquer l’option –csv-separator à l’export brut au format CSV. Le séparateur par défaut est le point-virgule (;). Remerciements à Henrietta Dombrovskaya pour la demande de fonctionnalité.
  • Sortie CSV brute : ne pas ajouter de guillemets doubles aux paramètres et au nom d’application s’ils sont vides.
  • Ajouter des guillemets doubles lorsque les requêtes contiennent un point-virgule dans la sortie CSV brute. Remerciements à Henrietta Dombrovskaya pour le signalement.

2 - Notes de version de pgBadger 12.x

Notes de version complètes de la série pgBadger 12.x

Ces entrées conservent l’intégralité de l’historique des modifications upstream pour pgBadger 12.x, du plus récent au plus ancien.

v12.4 · 2023-12-25

Il s’agit d’une version de maintenance de pgBadger qui corrige les problèmes signalés par les utilisateurs depuis la dernière version.

  • Correction du rapport pgbouncer avec la version 1.21. Remerciements à Ales Zeleny pour le correctif.
  • Empêcher que le parallélisme du fichier Perl dépasse le nombre de fichiers. Remerciements à maliangzhu pour le signalement.
  • Correction du test de régression cassé depuis la version 12.3. Remerciements à ieshin pour le signalement.
  • Correction des cas où les entrées LOG étaient comptées comme des entrées de niveau d’erreur. Remerciements à Matti Linnanvuori pour le signalement.

v12.3 · 2023-11-27

Il s’agit d’une version de maintenance de pgBadger qui corrige des problèmes signalés par les utilisateurs depuis la dernière version. Elle introduit également quelques nouvelles fonctionnalités :

  • Ajouter l’option –include-pid pour ne rapporter que les événements liés à une session pid (%p). Peut être utilisée plusieurs fois. Merci à Henrietta Dombrovskaya pour la demande de fonctionnalité.
  • Ajouter l’option –include-session pour ne rapporter que les événements liés à l’identifiant de session (%c). Peut être utilisée plusieurs fois. Merci à Henrietta Dombrovskaya pour la demande de fonctionnalité.
  • Ajouter une nouvelle option –dump-raw-csv pour ne parser que le journal et exporter les informations au format CSV. Aucun traitement supplémentaire n’est effectué, aucun rapport n’est généré. Merci à Henrietta Dombrovskaya pour la demande de fonctionnalité.

Voici la liste complète des modifications et des remerciements :

  • Mettre à jour pgFormatter à la version 5.5
  • Corriger la date de fin de traitement avec le format jsonlog. Remerciements à jw1u1 pour le rapport.
  • Corriger l’orthographe dans « Sessions par application ». Remerciements à fairyfar pour le correctif.
  • Corriger le bug du graphique « Traffic INSERT/UPDATE/DELETE ». Remerciements à fairyfar pour le correctif.
  • Corriger l’analyse des lignes orphelines avec les requêtes bindées. Remerciements à youxq pour le rapport.
  • Corriger le rapport « Analyse par table » avec les nouvelles versions de PG. Remerciements à Jean-Christophe Arnu pour le correctif.
  • Corriger le parseur d’entrée syslog lorsque l’horodatage syslog contient des millisecondes. Remerciements à Pavel Rabel pour le rapport.

v12.2 · 2023-08-20

Il s’agit d’une version de maintenance de pgBadger qui corrige les problèmes signalés par les utilisateurs depuis la dernière version. Elle introduit également deux nouvelles fonctionnalités :

  • Ajouter le support de la durée d’autovacuum max, avg, min. Remerciements à Francisco Reinolds pour le correctif.
  • Ajouter le support du temps moyen d’attente de pgbouncer. Remerciements à Francisco Reinolds pour le correctif.

Voici la liste complète des modifications et des remerciements :

  • Corriger la sortie HTML corrompue lorsque le nom d’application contient <…>. Remerciements à Fabio Geiss pour le rapport.
  • Corriger l’association incorrecte des lignes orphelines lorsqu’un filtre sur la base de données est appliqué. Remerciements à jcasanov pour le rapport.
  • Corriger l’analyse du préfixe logplex.
  • Corriger la détection des lignes orphelines logplex.
  • Corriger l’analyse de la ligne autovacuum de system usage: CPU: .... Remerciements à Francisco Reinolds pour le correctif.
  • Éviter d’ajouter le répertoire de sortie si la sortie est stdout.
  • Uniformiser l’étiquette Durée moyenne de requête. Remerciements à Francisco Reinolds pour le correctif.
  • Mettre à jour la documentation pour les nouvelles options de pgBadger. Remerciements à Francisco Reinolds pour le correctif.
  • Corriger le cas où l’analyse n’était pas interrompue lorsque aucun descripteur de fichier ne pouvait être ouvert. Remerciements à vp pour le rapport.
  • Corriger l’aide en ajoutant le placeholder obligatoire %p/%t pour les informations de journal. Remerciements à Christophe Courtois pour le correctif.
  • Corriger le paramètre –retention. Remerciements à Bertrand Bourgier pour le correctif.
  • Corriger la suppression du répertoire de sortie supprimée par le commit 0e5c7d5 lorsque le répertoire de sortie HTML est défini. Remerciements à Bertrand Bourgier pour le rapport.
  • Corriger l’extension de sortie lorsque le répertoire de destination contient un caractère nécessitant une échappement en expression régulière. Remerciements à Bertrand Bourgier pour le correctif.
  • Remplacer les appels à POSIX::strftime("%s", ….) par un appel à localtime pour la version Windows. Remerciements à Bertrand Bourgier pour le correctif.
  • Corriger le nettoyage du répertoire de sortie HTML. Remerciements à Bertrand Bourgier pour le correctif.
  • Utiliser https par défaut pour l’URL explain. Remerciements à Philipp Trulson pour le correctif.

v12.1 · 2023-03-20

Il s’agit d’une mise à jour de maintenance de pgBadger qui corrige les problèmes signalés par les utilisateurs au cours des six derniers mois.

Voici la liste complète des modifications et des remerciements :

  • Corriger l’analyse des paramètres multilignes. Remerciements à Bekir Niyaz pour le rapport.
  • Corriger l’échec de normalisation de la requête avec ::tsrange. Remerciements à Philippe Griboval pour le rapport.
  • Ajouter le point cohérent de décodage logique et le démarrage pour les entrées de slot dans le rapport d’événements.
  • Gérer les autres formats d’horodatage avec ns + fuseau horaire. Remerciements à Ronan Dunklau pour le rapport.
  • Corriger la détection de %m lors de l’utilisation de la notation avec T. Remerciements à Ronan Dunklau pour le rapport.
  • Ajouter l’analyse des journaux générés par CloudNativePG. Remerciements à codrut panea pour le correctif.
  • Corriger l’option inutilisée –outdir dans la génération du rapport. Remerciements à Frédéric Guiet pour le rapport.
  • Mettre à jour le README avec les dernières modifications de la documentation. Remerciements à Manisankar pour le rapport.
  • Corriger une faute de frappe dans les exemples de pgBadger. Remerciements à Shinichi Hashiba pour le correctif.

v12.0 · 2022-09-13

Cette version majeure de pgBadger corrige certains problèmes signalés par les utilisateurs au cours des cinq derniers mois. Comme à l’accoutumée, elle inclut également de nouvelles fonctionnalités et des améliorations :

  • Supprimer le support de la sortie Tsung.
  • Améliorer les performances de pgBadger lorsque des centaines de paramètres liés doivent être remplacés.
  • Supprimer l’option -n | –nohighlight qui n’est plus utilisée depuis la mise à jour vers pgFormatter 4.
  • Utiliser la méthode POST pour envoyer le plan auto_explain à explain.depesz.com afin d’éviter la limite de longueur des paramètres GET.
  • Appliquer –exclude-query et –include-query aux traces bind/parse.
  • Ajouter un lien vers des exemples de rapports pgBadger dans la documentation.

Voici la liste complète des modifications et des remerciements :

  • Corriger les rapports mensuels qui échouaient sur « fichier journal … doit exister ». Merci à Jaume Sabater pour le signalement.
  • Corriger l’analyse du démarrage de pgbouncer lors de la lecture d’un message de débogage depuis stdin. Merci à aleszeleny pour le signalement.
  • Supprimer le support des sorties au format Tsung.
  • Améliorer considérablement les performances de pgBadger pour le remplacement des paramètres liés, qui pouvait entraîner une exécution infinie lorsque des centaines de paramètres étaient présents. Merci à Monty Mobile pour le signalement.
  • Corriger la documentation concernant les codes de retour de pgBadger, ainsi que certains codes de retour incorrects à certains endroits. Merci à Jaume Sabater pour le signalement.
  • Corriger plusieurs fautes de frappe. Merci à David Gilman pour le correctif.
  • Supprimer l’option -n | –nohighlight qui n’est plus utilisée depuis la mise à jour vers pgFormatter 4. Merci à Elena Indrupskaya pour le signalement.
  • Nombreuses corrections dans la documentation de pgBadger. Merci à Elena Indrupskay de Postgres Pro pour le correctif.
  • Permettre une demi-heure dans –log-timezone et –timezone, la valeur peut être un entier, par exemple 2, ou un nombre à virgule, par exemple 2.5. Merci à Mujjamil-K pour la demande de fonctionnalité.
  • Permettre l’utilisation d’expressions régulières pour –exclude-app et –exclude-client.. Merci à rdnkrkmz pour la demande de fonctionnalité.
  • Permettre l’utilisation de –explain-url avec le commit précédent et restaurer la limitation pour le format texte explicite.
  • Utiliser la méthode POST pour envoyer le plan auto_explain à explain.depesz.com afin d’éviter la limite de longueur des paramètres GET. Merci à hvisage pour le signalement.
  • Appliquer –exclude-query et –include-query aux traces bind/parse. Merci à Alec Lazarescu pour le signalement.
  • Corriger l’analyse des statistiques d’autovacuum provenant des journaux RDS. Merci à David Gilman pour le signalement.
  • Corriger le passage du format de journal lors de l’analyse d’un journal distant. Merci à spookypeanut pour le signalement.
  • Ajouter un lien vers des exemples de rapports pgBadger dans la documentation.
  • Corriger les rapports Session par utilisateur. Merci à vitalca pour le signalement.
  • Corriger l’analyse des journaux json provenant de la sortie PG15.
  • Corriger le rapport d’erreurs/événements basé sur du texte. Merci à Michael Banck pour le correctif.
  • Corriger la faute de frappe dans la fonction normalize_error(). Merci à Michael Banck pour le correctif.

3 - Notes de version de pgBadger 11.x

Notes de version complètes de la série pgBadger 11.x

Ces entrées conservent l’intégralité de l’historique des modifications upstream pour pgBadger 11.x, du plus récent au plus ancien.

v11.8 · 2022-04-08

Cette version de pgBadger corrige certains problèmes signalés par les utilisateurs au cours des trois derniers mois, en particulier deux correctifs concernant la détection des nouvelles entrées de journal en mode incrémentiel.

  • Corriger la détection des nouvelles entrées de journal avec horodatage lorsque le format milliseconde (%m) ou époque (%n) était utilisé dans log_line_prefix.
  • Corriger la détection des nouvelles entrées de journal dans le fichier local lorsque le mode multiprocessus n’était pas utilisé.

Voici la liste complète des modifications et des remerciements :

  • Revue complète et simplification de la détection des modifications dans le fichier journal.
  • Rapports des messages « impossible de (recevoir|envoyer) des données (du|au) client » dans les rapports Événements. Remerciements à Adrien Nayrat pour le signalement.
  • Correction d’un problème d’analyse lorsque le nom d’une requête préparée contient le caractère « : ». Remerciements à aleszeleny pour le signalement.
  • Correction de la détection des nouvelles entrées de journal avec horodatage lorsque les millisecondes (%m) ou l’époque (%n) sont utilisées. Remerciements à aleszeleny pour le signalement.
  • Correction de la détection des nouvelles entrées de journal dans un fichier local lorsque le mode multiprocessus n’était pas utilisé. Remerciements à aleszeleny pour le signalement.
  • Correction de la détection des nouvelles entrées de journal dans les fichiers distants via SSH. Remerciements à Luca Ferrari pour le signalement.
  • Correction des données incorrectes dans le nom d’utilisateur du rapport « Connexions par utilisateur ». Remerciements à caseyandgina pour le signalement.
  • Correction de la commande SSH lors de l’utilisation d’une URI, les options SSH étaient manquantes. Remerciements à Luca Ferrari pour le signalement.
  • Prise en charge du placeholder queryid %Q. Remerciements à Adrien Nayrat pour le correctif.
  • Correction d’une faute de frappe dans une phrase d’erreur. Remerciements à Luca Ferrari pour le correctif.
  • Rapport du message : « le processus serveur a été terminé par un signal » dans le rapport Événements. Remerciements à Avi Vallarapu pour le signalement.
  • doc : correction du nom de fichier pour la commande incrémentale hebdomadaire. Remerciements à Théophile Helleboid pour le correctif.
  • t/04_advanced.t : correction du test syslog. Remerciements à Christoph Berg pour le correctif.

v11.7 · 2022-01-23

Cette version de pgBadger corrige certains problèmes signalés par les utilisateurs au cours des cinq derniers mois, ainsi que certaines améliorations :

  • Ajouter une nouvelle option –no-progressbar pour ne pas l’afficher tout en conservant les autres sorties.
  • Ajouter une nouvelle option –day-report permettant de régénérer un rapport HTML pour une journée spécifique. Comme l’option –month-report, mais uniquement pour une journée. Elle nécessite la présence des répertoires de sortie incrémentielle et de tous les fichiers binaires nécessaires. La valeur doit être une date au format : YYYY-MM-DD
  • Améliorer l’analyse des journaux Heroku logplex et cloudsql au format JSON.

Voici la liste complète des modifications et des remerciements :

  • Mettre à jour les guides de contribution et le fichier Makefile.PL afin d’améliorer la cohérence, la clarté et les dépendances. Merci à diffuse pour le correctif.
  • Corriger l’utilisation du fichier de dernière analyse (–last-parsed) en mode binaire. Merci à wibrt pour le signalement.
  • Ajouter un test de régression pour l’utilisation de –last-parsed et corriger le test de régression sur le rapport pour les fichiers temporaires uniquement.
  • Corriger le titre du graphique session par hôte. Merci à Norbert Bede pour le signalement.
  • Corriger le numéro de semaine lors du calcul des rapports hebdomadaires lorsque les options –iso-week-number et –incremental sont activées. Merci à hansgv pour le signalement.
  • Ajouter l’option –no-progressbar pour ne pas l’afficher tout en conservant les autres sorties. Merci à seidlmic pour la demande de fonctionnalité.
  • Empêcher l’affichage excessif de lignes au format inconnu en mode débogage pour les fichiers JSON multilignes.
  • Corriger l’analyse du journal JSON en ligne simple cloudsql. Merci à Thomas Leclaire pour le signalement.
  • Corriger le résumé des fichiers temporaires avec log_temp_files uniquement.
  • Afficher un message de débogage avec -v même si -q ou –quiet est utilisé.
  • Corriger la détection automatique du fichier jsonlog.
  • Corriger l’analyse du fichier journal cloudsql. Merci à Luc Lamarle pour le signalement.
  • Corriger l’extraction du PID dans parse_json_input. Merci à Francois Scala pour le correctif.
  • Ajouter une nouvelle option –day-report avec une valeur au format : AAAA-MM-JJ, pouvant être utilisée pour reconstruire un rapport HTML pour la journée spécifiée. Merci à Thomas Leclaire pour la demande de fonctionnalité.
  • Corriger le compteur de requêtes dans la barre de progression. Merci à Guillaume Lelarge pour le signalement.
  • Corriger les requêtes incomplètes stockées pour les rapports top bind et prepare.
  • Corriger la normalisation de l’identifiant d’objet, dans certains cas les chiffres étaient remplacés par un ?.
  • Corriger les requêtes normalisées non formatées lorsque des commentaires sont présents au début.
  • Corriger le format multiligne dans stderr lorsque –dbname est utilisé. Merci à Guillaume Lelarge pour le signalement.
  • Corriger la non-génération de rapports en mode incrémental lorsque –dbname est utilisé. Merci à Dudley Perkins pour le signalement.
  • Ne plus interrompre l’exécution si un fichier binaire n’est pas compatible, passer au fichier suivant. Merci à Thomas Leclaire pour la suggestion.
  • Corriger le changement de format Heroku logplex dans le parseur pgBadger. Merci à François Pietka pour le signalement.

v11.6 · 2021-09-04

Cette version de pgBadger corrige certains problèmes signalés par les utilisateurs au cours des sept derniers mois, ainsi que certaines améliorations :

  • Ajouter la détection de l’identifiant de requête dans log_line_prefix, nouvelle fonctionnalité disponible depuis PG14. Remerciements à Florent Jardin pour le signalement.
  • Ajouter des tests de régression avancés avec exclusion de base de données et la fonctionnalité d’explosion. Remerciements à MigOps Inc pour le correctif.
  • Appliquer le traitement multiprocessus à la génération du rapport lorsque –explode est utilisé. Remerciements à MigOps Inc pour le correctif et à Thomas Leclaire pour la demande de fonctionnalité.
  • Ajouter –iso-week-number en mode incrémentiel, les semaines du calendrier commencent un lundi et respectent le numéro de semaine ISO 8601, compris entre 01 et 53, où la semaine 1 est la première semaine qui contient au moins 4 jours dans la nouvelle année. Remerciements à Alex Muntada pour la demande de fonctionnalité.
  • Ajouter l’option de ligne de commande –keep-comments pour ne pas supprimer les commentaires des requêtes normalisées. Utile si vous souhaitez distinguer des requêtes normalisées identiques. Remerciements à Stefan Corneliu Petrea pour la demande de fonctionnalité.
  • Ignorer les lignes INFO introduites dans le fichier journal par des logiciels tiers. Remerciements à David Piscitelli pour le signalement.
  • Ajouter la compatibilité avec les fichiers journaux PostgresPro incluant le numéro de ligne et la taille en octets suivant la durée d’exécution de l’instruction. Remerciements à panatamann pour le signalement.
  • Analyser les horodatages contenant des T pour permettre l’utilisation des timestamps issus de journalctl. Remerciements à Graham Christensen pour le correctif.
  • Améliorer le portage sous Windows. Remerciements à Bertrand Bourgier pour les correctifs.

Note importante :

  • Attendre que –iso-week-number devienne la valeur par défaut dans la prochaine version majeure et que l’option –start-monday soit supprimée, car la semaine commencera toujours un lundi. La possibilité de faire commencer les rapports hebdomadaires un dimanche sera supprimée afin de simplifier le code.

Voici la liste complète des modifications et des remerciements :

  • Corriger la duplication du message d’avertissement : “la base de données … doit être vidée dans un délai de … transactions”. Remerciements à Christophe Courtois pour le signalement.
  • Corriger l’utilisation d’une variable non initialisée. Remerciements à phiresky pour le signalement.
  • Améliorer la détection de l’identifiant de requête, qui peut être négatif, ainsi que sa lecture depuis les fichiers CSV.
  • Corriger le cas où le dernier fichier en mode incrémentiel est toujours analysé, même s’il avait déjà été traité. Remerciements à Thomas Leclaire pour le signalement.
  • Mettre à jour l’expression régulière du format syslog pour gérer le cas où l’indicateur de session contient un seul entier au lieu de deux entiers séparés par un tiret. Remerciements à Timothy Alexander pour le correctif.
  • Corriger l’option –exclude-db afin de créer quand même le rapport associé avec les journaux JSON. Remerciements à MigOps Inc pour le correctif et à Thomas Leclaire pour le signalement.
  • Ajouter un test de régression concernant la version défectueuse de Storable.
  • Corriger l’utilisation d’une valeur non initialisée dans l’itérateur de substitution en mode incrémentiel lors de la génération du rapport hebdomadaire. Remerciements à Thomas Leclaire, Michael Vitale, Sumeet Shukla et Stefan Corneliu Petrea pour le signalement.
  • Ajouter l’option ‘g’ pour remplacer tous les paramètres liés. Remerciements à Nicolas Lutic et Sébastien Lardiere pour le correctif.
  • Améliorations de la documentation. Remerciements à Stefan Petrea pour le correctif.
  • Corriger le calcul de fuseau horaire dans le journal des modifications. Remerciements à Stefan Petrea pour le correctif.
  • Corriger le filtre de journal par heure de début/fin.
  • Corriger l’association erronée des lignes orphelines pour les requêtes multilignes avec un filtre sur la base de données. Remerciements à Abhishek Mehta pour le signalement.
  • Corriger les rapports en mode incrémentiel lorsque le paramètre –dbname est partiellement ignoré avec l’option “explode” (-E). Remerciements à lrevest pour le signalement.
  • Mettre à jour les ressources JavaScript.
  • Corriger l’affichage du menu avant le passage en mode hamburger lorsque l’écran est réduit. Remerciements à Guillaume Lelarge pour le signalement.
  • Corriger le traitement des valeurs de paramètres liés sur plusieurs lignes dans le journal, qui n’était pas correctement pris en charge.
  • Appliquer la même correction que celle du correctif précédent dans pgFormatter.
  • Corriger une autre utilisation d’une valeur non initialisée dans l’itérateur de substitution issu du code de pgFormatter. Remerciements à Christophe Courtois pour le signalement.
  • Corriger la normalisation des requêtes. Remerciements à Jeffrey Beale pour le correctif.
  • S’assurer que toutes les instructions se terminent par un point-virgule lorsque –dump-all-queries est utilisé. Remerciements à Christian pour le signalement.
  • Corriger une faute de frappe et l’initialisation du type de fin de ligne avec plusieurs fichiers journaux.
  • Ajouter la détection automatique du type de fin de ligne pour corriger le décalage LAST_PARSED lorsque le type EOL est sur 2 octets (cas Windows). Remerciements à Bertrand Bourgier pour le correctif.
  • Corriger le portage de get_day_of_week() sous Windows où strftime %u n’est pas pris en charge. Remerciements à Bertrand Bourgier pour le correctif.
  • Corriger le portage sous Windows qui appelait l’utilitaire perl pl2bat.bat pour créer un pgBadger.bat corrompu en raison de la manière dont DATA était lu dans pgBadger. Remerciements à Bertrand Bourgier pour le correctif.
  • Corriger le filtre par heure de début/fin et ajouter un test de régression pour les filtres de timestamp. Remerciements à Alexis Lahouze et plmayekar pour le signalement.
  • Corriger l’utilisation d’une valeur non initialisée dans la correspondance de motif introduite par la mise à jour de pgFormatter. Remerciements à arlt pour le signalement.

v11.5 · 2021-02-18

Cette version de pgBadger corrige certains problèmes signalés par les utilisateurs au cours des trois derniers mois, ainsi que certaines améliorations :

  • Ajouter un rapport sur le temps d’inactivité des sessions, calculé à l’aide de : « temps total des sessions - temps total des requêtes / nombre de sessions » Cela nécessite que les options log_connection et log_disconnection soient activées, ainsi que log_min_duration_statement = 0 (toutes les requêtes sont journalisées) pour obtenir une valeur fiable. Ce rapport permet de connaître la quantité de temps d’inactivité perdue, et d’évaluer si un mode de transaction avec pooler serait utile. Ce rapport est disponible dans l’onglet « Sessions » du rapport « Statistiques globales » et dans l’onglet « Sessions » des rapports « Activité générale » (par heure).
  • Ajouter la masquage des valeurs numériques, remplacées par 4 chiffres aléatoires.
  • Mettre à jour le formateur SQL basé sur pgFormatter 5.0.

Voici la liste complète des modifications et des remerciements :

  • Corriger l’analyse des instructions multilignes cloudsql. Remerciements à Jon Young pour le rapport.
  • Ajouter un test de régression pour l’anonymisation.
  • Corriger l’anonymisation cassée par le troncature maxlength. Remerciements à artl pour le rapport.
  • Ajouter l’anonymisation des paramètres dans les rapports sur les préparations et liaisons coûteuses en temps. Remerciements à arlt pour le rapport.
  • Ajouter la prise en charge des microsecondes dans le préfixe de ligne de journal logplex. Remerciements à Ross Gardiner pour le rapport.
  • Ajouter un rapport sur le temps d’inactivité des sessions. Remerciements à Guillaume Lelarge pour la demande de fonctionnalité.
  • Compléter le correctif pour prendre en charge les lignes multilignes au format jsonlog.

v11.4 · 2020-11-24

Cette version de pgBadger corrige certains problèmes signalés par les utilisateurs au cours des quatre derniers mois. Elle améliore le support des informations de journalisation de PostgreSQL 13 et ajoute quelques nouvelles fonctionnalités :

  • Ajouter des informations complètes sur l’autovacuum dans le rapport « Vacuums par table » concernant l’utilisation du tampon (accès réussis, échoués, modifiés), les sauts dus aux verrous, les sauts dus au gel et l’utilisation du WAL (enregistrements, images de pages entières, octets). Dans le rapport « Tuples supprimés par table », ajouter également les informations suivantes sur l’autovacuum : tuples restants, tuples non encore supprimables et pages restantes. Ces informations ne sont disponibles que dans l’onglet « Table ».
  • Ajouter un nouveau rapport de répartition concernant les causes de démarrage des points de contrôle.
  • Ajouter la détection du nom d’application à partir des traces d’autorisation de connexion.

Voici la liste complète des modifications et des remerciements :

  • Corriger une faute de frappe dans un message d’erreur. Remerciements à Vidar Tyldum pour le correctif.
  • Corriger le portage sous Windows avec l’erreur : « impossible de charger des données binaires incompatibles ». Remerciements à Eric Brawner pour le signalement.
  • Corriger une faute de frappe sur l’option –html-outdir dans l’utilisation et la documentation de pgBadger. Remerciements à Vidar Tyldum pour le correctif.
  • Corriger la détection automatique du format jsonlog/cloudsql. Remerciements à Jon Young pour le signalement.
  • Corriger l’analyse des logs CSV avec PG v13. Remerciements à Kanwei Li pour le signalement et à Kaarel Moppel pour le correctif.
  • Corriger le tri des requêtes générant le rapport des fichiers temporaires les plus nombreux. Remerciements à Sebastien Lardiere pour le signalement.
  • Ajouter la trace de la version de pgBadger en mode débogage.

v11.3 · 2020-07-26

Cette version de pgBadger corrige plusieurs problèmes signalés par les utilisateurs au cours des quatre derniers mois. Elle introduit également certaines nouvelles fonctionnalités et de nouveaux options en ligne de commande :

  • Ajouter la détection automatique des horodatages UTC afin d’éviter d’appliquer un fuseau horaire aux graphiques.
  • Ajouter le support du format de journal JSON de GCP CloudSQL.
  • Ajouter une nouvelle option –dump-all-queries pour utiliser pgBadger afin d’extraire toutes les requêtes dans un fichier texte, aucun rapport n’est généré, uniquement la liste complète des instructions trouvées dans le journal PostgreSQL. Les paramètres liés sont insérés dans les requêtes à leur position respective.
  • Ajouter une nouvelle option -Q | –query-numbering utilisée pour numéroter les requêtes dans la sortie lors de l’utilisation des options –dump-all-queries ou –normalized-only..
  • Ajouter une nouvelle option de ligne de commande –tempdir pour définir le répertoire où les fichiers temporaires seront écrits. Utile sur les systèmes qui n’autorisent pas l’écriture dans /tmp..
  • Ajouter l’option de ligne de commande –ssh-port pour définir le port SSH si ce n’est pas le port par défaut 22. La notation URI prend également en charge la spécification du port SSH en utilisant la forme suivante : ssh://192.168.1.100:2222//var/log/postgresql-11.log

Voici la liste complète des modifications et des remerciements :

  • Corriger les rapports incrémentiels pour le format de journal jsonlog/cloudsql. Merci à Ryan DeShone pour le rapport
  • Ajouter la détection automatique de l’horodatage UTC afin d’éviter d’appliquer un fuseau horaire détecté automatiquement aux graphiques. Avec une heure UTC, le JavaScript appliquera le fuseau horaire local. Merci à Brett Stauner pour le rapport.
  • Corriger l’analyse incrémentielle des journaux journalctl qui ne fonctionnait pas à partir de la deuxième exécution. Merci à Paweł Koziol pour le correctif.
  • Corriger le chemin vers le fichier de ressources lorsque -X et -E sont utilisés. Merci à Ryan DeShone pour le rapport.
  • Corriger le rapport d’activité générale concernant les requêtes de lecture/écriture. Merci à alexandre-sk5 pour le rapport.
  • Ajouter un message de débogage lorsque le mode parallèle n’est pas utilisé.
  • Corriger la logique elsif dans la détection de la taille du fichier et l’espace supplémentaire introduit dans la commande journalctl lorsque l’option –since est ajoutée. Merci à Pawel Koziol pour le correctif.
  • Corriger l’erreur « pas un descripteur de fichier valide ». Merci à Pawel Koziol pour le rapport.
  • Corriger le mode incrémentiel avec les fichiers RDS. Merci à Ildefonso Camargo, nodje et John Walsh pour le rapport.
  • Ajouter une nouvelle option -Q | –query-numbering utilisée pour numéroter les requêtes dans la sortie lors de l’utilisation des options –dump-all-queries ou –normalized-only.. Cela peut être utile pour extraire des requêtes multilignes du fichier de sortie à l’aide d’un script externe. Merci à Shantanu Oak pour la demande de fonctionnalité.
  • Corriger l’analyse des journaux json cloudsql lorsque log_min_duration_statement est activé. Merci à alexandre-sk5 pour le rapport.
  • Corriger la clé de hachage erronée pour les utilisateurs dans les journaux RDS. Merci à vosmax pour le rapport.
  • Corriger l’erreur liée à la modification d’une valeur de tableau non créable. Merci à John Walsh et Mark Fletcher pour le rapport.
  • Ajouter le support du format de journal json GCP CloudSQL, le format de journal (-f) est jsonlog. Merci à Thomas Poindessous pour la demande de fonctionnalité.
  • Ajouter une nouvelle option –dump-all-queries permettant d’utiliser pgBadger pour exporter toutes les requêtes dans un fichier texte, aucun rapport n’est généré, uniquement la liste complète des instructions trouvées dans le journal PostgreSQL. Les paramètres liés aux requêtes sont insérés à leur position respective. Aucun tri sur les requêtes uniques n’est effectué, toutes les requêtes sont journalisées. Merci à Shantanu Oak pour la demande de fonctionnalité.
  • Ajouter la documentation pour l’option –dump-all-queries.
  • Corriger le rapport vacuum pour les nouvelles versions de PG. Merci à Alexey Timanovsky pour le rapport.
  • Ajouter une nouvelle option de ligne de commande –no-process-info pour désactiver le changement du titre du processus afin d’aider à identifier le processus pgBadger, certains systèmes ne le permettent pas. Merci à Akshay2378 pour le rapport.
  • Ajouter une nouvelle option de ligne de commande –tempdir pour définir le répertoire où les fichiers temporaires seront écrits. Valeur par défaut : File::Spec->tmpdir() || ‘/tmp’ Peut être utile sur les systèmes qui n’autorisent pas l’écriture dans /tmp.. Merci à Akshay2378 pour le rapport.
  • Corriger les noms de fichiers compressés non pris en charge contenant des espaces et/ou des crochets. Merci à Alexey Timanovsky pour le rapport.
  • Ajouter une option de ligne de commande –ssh-port utilisée pour définir le port SSH si ce n’est pas le port par défaut 22. La notation URI ajoute également le support de la spécification du port SSH en utilisant la forme : ssh://192.168.1.100:2222//var/log/postgresql-11.log Merci à Augusto Murri pour la demande de fonctionnalité.

v11.2 · 2020-03-11

Cette version de pgBadger corrige plusieurs problèmes signalés par les utilisateurs au cours des six derniers mois. Elle introduit également quelques nouvelles fonctionnalités :

  • Ajouter le support et la détection automatique du format de journal AWS Redshift.
  • Ajouter le support du nouveau format de journal de pgbouncer 1.11.
  • Gérer les formats de compression zstd et lz4.
  • Permettre de séparer entièrement la construction des statistiques et celle du rapport HTML en mode incrémentiel, sans avoir à lire un fichier journal. Par exemple, il est possible d’exécuter pgBadger chaque heure comme suit : pgbadger -I -O “/out-dir/data” –noreport /var/log/postgresql*.log

Il crée simplement les fichiers binaires de données dans “/out-dir/data”, puis, par exemple, vous pouvez générer des rapports chaque soir pour la journée suivante dans un répertoire séparé /out-dir/reports : pgbadger -I -l “/out-dir/data/LAST_PARSED” -H “/out-dir/reports” /out-dir/data/2020/02/19/*.bin

Cela nécessite de définir le chemin vers les informations analysées pour la dernière fois, le chemin où les rapports HTML seront écrits et le fichier binaire de données de la journée.

Il existe également de nouvelles options de ligne de commande :

  • Ajoute une nouvelle option de ligne de commande –explain-url utilisée pour remplacer l’URL de l’outil d’explication graphique. L’URL par défaut est : http://explain.depesz.com/?is_public=0&is_anon=0&plan=

    Si vous souhaitez utiliser une installation locale de PgExplain ou un autre outil. pgBadger ajoutera le plan au format texte, échappé, à la fin de l’URL.

  • Ajoutez l’option –no-week pour indiquer à pgBadger de ne pas générer de rapports hebdomadaires en mode incrémentiel. Utile si cela prend trop de temps et de ressources.

  • Ajoutez l’option de ligne de commande –command afin de pouvoir définir une commande que pgBadger exécutera pour récupérer les entrées de journal sur stdin. pgBadger ouvrira un tube vers la commande et analysera les entrées de journal générées par celle-ci. Par exemple : pgbadger -f stderr –command ‘cat /var/log/postgresql.log’

    ce qui revient à exécuter pgBadger en spécifiant directement le fichier journal en argument. L’intérêt de cette option est évident si vous devez modifier le fichier journal en temps réel ou si les entrées de journal sont extraites d’un programme ou générées à partir d’une base de données. Par exemple :

    pgbadger -f csv –command ‘psql dbname -c “COPY jrn_log TO STDOUT (FORMAT CSV)”’

  • Ajoutez l’option de ligne de commande –noexplain pour empêcher pgBadger de parser et de rapporter les plans d’exécution écrits dans le journal par l’extension auto_explain. Cela est utile si vous utilisez une version de PostgreSQL inférieure à 9.0, où pgBadger génère des rapports corrompus lorsqu’un plan d’exécution est présent dans le journal.

Compatibilité descendante :

  • Par défaut, pgBadger tronque les requêtes jusqu’à 100000 caractères. Cette valeur arbitraire peut être ajustée à l’aide de l’option –maxlength.. Le comportement précédent consistait à ne pas tronquer les requêtes, mais cela pouvait entraîner une utilisation excessive des ressources. Limiter la taille par défaut est plus sûr, et la limite de taille permet généralement d’éviter le troncature dans la majorité des cas. Toutefois, les requêtes ne seront pas reformattées si elles dépassent 25000 caractères.

Voici la liste complète des modifications et des remerciements :

  • Correction de l’option –exclude-client non fonctionnelle. Remerciements à John Walsh pour le signalement.
  • Ajout d’un test de régression pour l’analyse des fichiers journaux RDS et –exclude-client.
  • Correction de la barre de progression pour les fichiers journaux de pgbouncer. L’étiquette « queries » est désormais « stats » pour les fichiers journaux de pgbouncer.
  • Ajout de l’option en ligne de commande –explain-url permettant de remplacer l’URL de l’outil d’explication graphique. Remerciements à Christophe Courtois pour la demande de fonctionnalité.
  • Ajout du support du nouveau format de fichier journal de pgbouncer 1.11. Remerciements à Dan Aksenov pour le signalement.
  • Gestion des formats de compression zstd et lz4. Remerciements à Adrien Nayrat pour le correctif.
  • Ajout du support et de la détection automatique du format de fichier journal AWS Redshift. Remerciements à Bhuvanesh pour la demande de fonctionnalité.
  • Mise à jour de la documentation concernant le format de fichier journal Redshift.
  • Ajout de la nouvelle option –no-week pour indiquer à pgBadger de ne pas générer de rapports hebdomadaires en mode incrémentiel. Remerciements à cleverKermit17 pour la demande de fonctionnalité.
  • Correction d’un motif de correspondance sur le chemin du fichier qui provoquait une panne de pgBadger sous Windows.
  • Correction du problème #554 concernant les paramètres d’instruction encodés en cyrillique et autres, qui n’étaient pas correctement rapportés dans le rapport HTML même avec un jeu de caractères personnalisé. La régression avait été introduite par une correction de l’erreur Perl bien connue « Wide character in print ». Le correctif a été annulé et une nouvelle option en ligne de commande : –wide-char est désormais disponible pour restaurer ce comportement. Ajoutez cette option à votre commande pgbadger si vous obtenez le message « Wide character in print ». Ajout d’un test de régression avec des encodages cyrillique et français. Remerciements à 4815162342lost et yethee pour le signalement.
  • Mise à jour de la documentation pour indiquer que lc_messages = ’en_US.UTF-8’ est également valide. Remerciements à nodje pour le signalement.
  • Mise à jour de la documentation concernant –maxlength dont la taille par défaut de troncature est désormais 100000 et plus pas de troncature par défaut. Remerciements à nodje pour le signalement.
  • Correction du calcul de rétention à la frontière d’année. Remerciements à Fabio Pereira pour le correctif.
  • Correction de l’analyse du format de fichier journal RDS. Remerciements à Kadaffy Talavera pour le signalement.
  • Empêcher la génération d’un fichier d’index vide en mode incrémentiel lorsque aucune nouvelle entrée de journal n’est présente. Remerciements à Kadaffy Talavera pour le signalement.
  • Correction de la documentation non à jour. Remerciements à Eric Hanson pour le correctif.
  • Correction du paramètre en ligne de commande de -no-explain à -noexplain.. Remerciements à Indrek Toom pour le correctif.
  • Passer à la taille de fichier par défaut lorsque totalsize n’est pas disponible. Remerciements à Adrien Nayrat pour le correctif.
  • Correction de certaines dates dans les exemples. Remerciements à Greg Clough pour le correctif.
  • Utilisation de l’expression régulière des extensions de fichiers compressés dans les tests restants et extraction de l’extension .bin dans une condition séparée.
  • Gestion des formats de compression zstd et lz4. Remerciements à Adrien Nayrat pour le correctif.
  • Correction de l’appel restant de SIGUSR2 sous Windows. Remerciements à inrap pour le signalement.
  • Correction de la barre de progression avec les fichiers journaux de taille indéterminée.
  • Ajout de la nouvelle option en ligne de commande –command permettant de définir une commande que pgBadger exécutera pour récupérer les entrées de journal sur stdin. Remerciements à Justin Pryzby pour la demande de fonctionnalité.
  • Ajout de la nouvelle option en ligne de commande –noexplain pour empêcher pgBadger d’analyser et de rapporter les plans d’exécution écrits dans le journal par l’extension auto_explain. Cela est utile si vous utilisez une version de PostgreSQL inférieure à 9.0, où pgBadger génère des rapports corrompus lorsqu’un plan d’exécution est présent dans le journal. Remerciements à Massimo Sala pour la demande de fonctionnalité.
  • Correction de l’analyse des fichiers journaux RDS lorsque le préfixe est défini en ligne de commande. Remerciements à Bing Zhao pour le signalement.
  • Correction du mode incrémentiel avec le format de fichier journal RDS. Remerciements à Bing Zhao pour le signalement.
  • Correction possible de l’analyse des fichiers journaux RDS. Remerciements à James van Lommel et Simon Dobner pour le signalement.
  • Correction de la classification des requêtes et ajout d’un test de régression. Remerciements à alexanderlaw pour le signalement.
  • Correction de l’anonymisation des caractères simples dans les clauses IN. Remerciements à Massimo Sala pour le signalement.
  • Correction de l’analyse des fichiers journaux RDS pour les lignes sans informations client/utilisateur/base de données. Remerciements à Konrad pour le signalement.

v11.1 · 2019-09-16

Cette version de pgBadger corrige plusieurs problèmes signalés par les utilisateurs depuis trois mois. Elle introduit également certaines nouvelles fonctionnalités et rapports :

  • Ajouter un rapport des N requêtes les plus coûteuses en temps durant les étapes de préparation ou d’analyse.
  • Ajouter un rapport des N requêtes les plus coûteuses en temps durant l’étape de liaison.
  • Ajouter un rapport des durées des différentes parties d’une requête : préparation/liason/exécution. Affiché dans un nouvel onglet « Durée » du rapport des statistiques globales. Exemple : Durée totale de la requête : 6m16s Durée totale de la préparation/analyse : 45s564ms Durée totale de la liaison : 4m46s Durée totale de l’exécution : 44s71m Cela corrige également le rapport précédent de « Durée totale de la requête », qui ne rapportait que la durée totale d’exécution.
  • Ajouter le support des formats de journaux RDS et CloudWatch, détectés automatiquement. Vous pouvez utiliser -f rds si pgBadger n’est pas en mesure de détecter automatiquement le format du journal.
  • Ajouter une nouvelle option de configuration –month-report afin de pouvoir générer des rapports incrémentiels mensuels.
  • Restaurer le support du système d’exploitation Windows.

Il existe également quelques corrections de bogues et améliorations de fonctionnalités.

  • Ajouter la documentation Markdown générée automatiquement dans README.md à l’aide de l’outil pod2markdown. Si la commande n’est pas disponible, le fichier ne sera tout simplement pas généré. Merci à Derek Yang pour le correctif.
  • Traduire l’action WITH en CTE, correction d’un bug de régression introduit dans la dernière version.
  • Corriger la prise en charge du système d’exploitation Windows.
  • Ajouter la prise en charge des formats de journaux RDS et CloudWatch, utiliser -f si pgBadger n’est pas en mesure de détecter automatiquement ce format de journal. Merci à peruuparkar pour la demande de fonctionnalité.
  • Corriger l’option -f | –format qui n’était pas appliquée à tous les fichiers extraits de la liste de paramètres, où la détection automatique du format de journal échouait ; le format était pris à partir du premier fichier analysé. Merci à Levente Birta pour le signalement.
  • Mettre à jour le fichier de documentation source pour remplacer la référence à pgBadger v7.x par v11. Merci à Will Buckner pour le correctif.
  • Limite la taille d’affichage des requêtes les plus fréquentes afin d’éviter de remplir toute la page avec des requêtes très longues. Merci à ilias ilisepe1 pour le correctif.
  • Corriger le débordement des requêtes et des détails dans les requêtes les plus lentes.
  • Corriger les URI SSH pour les fichiers, répertoires et caractères génériques. Merci à tbussmann pour le correctif.
  • Corriger les exemples d’URI dans la documentation. Merci à tbussmann pour le correctif.
  • Masquer le message d’utilisation du fichier de sortie par défaut lorsque –rebuild est utilisé.
  • Ajouter une ligne vide supplémentaire à la sortie de la fonction usage() afin d’éviter que la documentation POD ne soit coupée lors de la compilation.
  • Réappliquer la description de l’option –exclude-client dans la documentation. Merci à Christoph Berg pour le signalement.

v11.0 · 2019-06-25

Cette version de pgBadger introduit de nouvelles fonctionnalités majeures et corrige certains problèmes signalés par les utilisateurs au cours des quatre derniers mois. Nouvelles fonctionnalités :

  • Regrouper les requêtes liées au curseur (DECLARE, CLOSE, FETCH, MOVE) dans un nouveau type de requête CURSOR.

  • Ajouter les requêtes top bind générant un plus grand nombre de fichiers temporaires. Nécessite que log_connection et log_disconnection soient activés.

  • Ajouter l’option en ligne de commande –exclude-client afin de pouvoir exclure les entrées de journal pour une IP cliente spécifique. Peut être utilisée plusieurs fois.

  • Permettre l’utilisation de l’heure uniquement dans les filtres –begin et –end.

  • Ajouter les options -H et –html-dir afin de pouvoir définir un chemin différent où écrire le rapport HTML en mode incrémentiel. Les fichiers binaires restent dans le répertoire défini par l’option -O, –outdir.

  • Ajouter l’option -E | –explode afin de diviser le rapport principal en un rapport par base de données. Les informations globales non liées à une base sont ajoutées au rapport de la base postgres.

  • Ajouter le rapport par base de données en mode incrémentiel. En ce mode, un sous-répertoire par base de données sera créé, avec des rapports incrémentiels dédiés.

  • Ajouter le support du format logplex de Heroku pour PostgreSQL. Les journaux peuvent être analysés à l’aide de :

    heroku logs -p postgres | pgbadger -f logplex -o heroku.html -

  • Lorsqu’une requête dépasse 10 Ko, on limite d’abord la taille de tous les paramètres de chaîne de caractères constants à 30 caractères, puis on tronque la requête à 10 Ko. Cela empêche pgBadger de consommer du temps ou de bloquer avec des requêtes très longues, par exemple lors de l’insertion de données bytea. La limite de 10 Ko peut être ajustée à l’aide du paramètre en ligne de commande –maxlength. La normalisation ou le troncature de la requête à la valeur maxlength n’est effectuée qu’après cette première étape de limitation de taille.

Cette nouvelle version rompt la compatibilité descendante avec les anciens fichiers binaires ou JSON. Cela signifie également que le mode incrémentiel ne pourra pas lire les anciens fichiers binaires. Si vous souhaitez mettre à jour pgBadger tout en conservant vos anciens rapports, veillez à effectuer la mise à jour au début d’une nouvelle semaine, sinon le rapport hebdomadaire sera corrompu. pgBadger affichera un avertissement et ignorera simplement le fichier binaire ancien.

Il existe également quelques corrections de bogues et améliorations de fonctionnalités.

  • Ajouter un avertissement concernant la version et ignorer le chargement du fichier binaire incompatible.
  • Mettre à jour le formateur de code pour pgFormatter 4.0.
  • Corriger le blocage de pgBadger sous le système d’exploitation Windows. Remerciements à JMLessard pour le rapport.
  • Mettre à jour le script tools/pgbadger_tools pour assurer la compatibilité avec le nouveau format binaire introduit dans pgBadger v11.
  • Ajouter les requêtes bindées les plus fréquentes générant le plus de fichiers temporaires. Cette collecte est possible uniquement si les options log_connection et log_disconnection sont activées dans postgresql.conf. Remerciements à Ildefonso Camargo pour la demande de fonctionnalité.
  • Corriger la détection automatique du fuseau horaire. Remerciements à massimosala pour la correction.
  • Supprimer certains graphiques restants lorsque –nograph est utilisé.
  • Forcer l’utilisation de l’extension .txt lorsque –normalized-only est utilisé.
  • Corriger l’affichage des rapports d’auto-vacuum/analyze au format logplex. Remerciements à Konrad zichul pour le rapport.
  • Corriger l’utilisation de la barre de progression sous le système d’exploitation Windows. Remerciements à JMLessard pour le rapport.
  • Utiliser une variable `$prefix_vars{’t_time’} pour stocker l’heure du journal. Remerciements à Luca Ferrari pour le correctif.
  • Mettre à jour l’aide et la documentation pour supprimer la commande perl des appels à pgBadger. Remerciements à Luca Ferrari pour le correctif.
  • Utiliser begin et end avec des heures sans date. Remerciements à Luca Ferrari pour le correctif.
  • Ajouter quelques corrections mineures d’orthographe et de grammaire dans le fichier readme. Remerciements à ofni yratilim pour le correctif.
  • Corriger les chemins distants utilisant SSH. Remerciements à Luca Ferrari pour le correctif.
  • Mettre à jour les tests de régression pour qu’ils fonctionnent avec la nouvelle structure introduite par la fonctionnalité de rapport par base de données.
  • Corriger les secondes fractionnaires dans tous les paramètres begin et end. Remerciements à Luca Ferrari pour le correctif.
  • Corriger l’URL de la documentation. Remerciements à Kara Mansel pour le rapport.
  • Corriger l’analyse de auto_explain. Ajouter plus d’informations sur l’option -U pouvant être utilisée plusieurs fois. Remerciements à Douglas J Hunley pour le rapport.
  • Nombreuses améliorations du rapport HTML / CSS. Remerciements à Pierre Giraud pour les correctifs.
  • Mettre à jour le fichier de ressources.
  • Ajouter un test de régression pour le format logplex.
  • Ajouter le support du format logplex de Heroku. Vous devriez pouvoir analyser ces journaux comme suit : heroku logs -p postgres | pgBadger -f logplex -o heroku.html - ou si vous avez déjà enregistré la sortie dans un fichier : pgBadger heroku.log Le format logplex est détecté automatiquement comme tout autre format pris en charge. pgBadger comprend les préfixes par défaut suivants pour log_line_prefix : database = %d connection_source = %r sql_error_code = %e ou simplement : sql_error_code = %e Faites-moi savoir s’il existe d’autres préfixes par défaut. Le préfixe peut toujours être défini à l’aide de l’option -p | –prefix de pgBadger : pgBadger –p ‘base = %d source = %r sql_state = %e’ heroku.log par exemple. Remerciements à Anthony Sosso pour la demande de fonctionnalité.
  • Corriger l’aide de pgBadger pour les URI.
  • Corriger l’utilisation incorrecte des caractères génériques dans les URI SSH introduite dans le correctif précédent. Remerciements à Tobias Bussmann pour le rapport.
  • Permettre les URI contenant des espaces dans le chemin du fichier journal. Remerciements à Tobias Bussmann pour le rapport.
  • Corriger les exemples d’URI dans la documentation. Remerciements à Tobias Bussmann pour le correctif.
  • Corriger t/02_basics.t pour qu’il ne faille pas si le test syslog prend plus de 10 secondes. Remerciements à Christoph Berg pour le correctif.

4 - Notes de version pgBadger 10.x

Notes de version complètes de la série pgBadger 10.x

Ces entrées conservent l’intégralité de l’historique des modifications upstream pour pgBadger 10.x, du plus récent au plus ancien.

v10.3 · 2019-02-14

Cette version de pgBadger est une mise à jour de maintenance qui corrige certains problèmes de détection automatique du format de journalisation, ainsi qu’un autre problème de lecture des journaux de pgBouncer signalé par les utilisateurs. Une nouvelle fonctionnalité est également disponible :

The -o | --outfile option can now be used multiple time to dump
output in several format in a single command. For example:
    pgbadger -o out.html -o out.json /log/pgsql-11.log
will create two reports in html and json format saved in the
two corresponding files.

Il existe également quelques corrections de bogues et améliorations de fonctionnalités.

  • Corriger les rapports statistiques lorsque l’on applique un filtre sur la base de données, l’utilisateur, le client ou l’application. Certaines requêtes n’étaient pas rapportées.
  • Corriger la détection automatique du préfixe de ligne de journal par défaut pour pg>=10.
  • Corriger la détection automatique du fichier journal lorsqu’il utilise un préfixe de ligne de journal « non standard ». Si –prefix %t, %m, %n ou %p ou %c est spécifié, définir le format sur stderr. Merci à Alex Danvy pour le signalement.
  • Supprimer l’espace supplémentaire en fin de ligne.
  • Ajouter un test minimal pour le parseur syslog.
  • Corriger un appel à autodetect_format().
  • Tronquer l’instruction lorsque maxlength est utilisé. Merci à Thibaud Madelaine pour le correctif.
  • Ajouter un test pour plusieurs formats de sortie.
  • L’option -o | –outfile peut désormais être utilisée plusieurs fois pour générer plusieurs formats de sortie dans une même commande. Par exemple : pgBadger -o out.txt -o out.html -o - -x json /log/pgsql-11.log Dans ce cas, pgBadger créera deux rapports au format texte et HTML, sauvegardés dans les fichiers correspondants. Il produira également un rapport au format json sur la sortie standard. Merci à Nikolay pour la demande de fonctionnalité.
  • Déplacer la détection du format de sortie et la définition du nom de fichier de sortie vers une fonction dédiée set_output_extension().
  • Corriger un autre problème de parsing des journaux pgBouncer. Merci à Douglas J. Hunley pour le signalement.

v10.2 · 2018-12-27

Cette version de pgBadger est une mise à jour de maintenance qui corrige les problèmes signalés par les utilisateurs au cours des trois derniers mois. Elle inclut également quelques nouvelles fonctionnalités :

  • Ajouter la prise en charge du format de journal des statistiques pgbouncer 1.8.
  • Ajuster automatiquement l’heure de fuseau horaire des graphiques JavaScript.

Une nouvelle option de ligne de commande est disponible :

  • Ajouter l’option –exclude-db pour générer un rapport sur tout sauf la base de données spécifiée.

  • Ajouter le support du téléchargement distant de fichiers journaux PostgreSQL via http ou ftp. Le fichier journal est analysé pendant le téléchargement à l’aide de la commande curl et n’est jamais sauvegardé sur le disque. En cas d’analyse distante via ssh, vous pouvez utiliser l’URI en tant qu’argument de ligne de commande pour préciser le fichier journal PostgreSQL. ssh://localhost/postgresql-10-main.log http://localhost/postgresql-10-main.log.gz ftp://localhost/postgresql-10-main.log

    with http and ftp protocol you need to specify the log file format at end of the uri:

        http://localhost/postgresql-10-main.log:stderr
    

    You can specify multiple uri for log files to be parsed. This is useful when you have pgbouncer log file on a remote host and PostgreSQL logs in the local host.

    With ssh protocol you can use wild card too like with remote mode, ex: ssh://localhost/postgresql-10-main.log*

    Old syntax to parse remote log file using -r option is still working but is obsolete and might be removed in future versions.

Il existe également quelques corrections de bogues et améliorations de fonctionnalités.

  • Ajuster la fin de la barre de progression pour les fichiers dont la taille estimée est connue (fichiers compressés bz2 et fichiers distants compressés).
  • Mettre à jour l’année dans le copyright.
  • Ajouter des informations sur la notation URI pour analyser les fichiers journaux distants.
  • Forcer la progression à atteindre 100 % à la fin de l’analyse d’un fichier distant compressé.
  • Extraire les informations sur les appels de fonctions PL/pgSQL présents dans les requêtes des rapports de fichiers temporaires. Ces informations sont ajoutées au bloc d’affichage détaillé.
  • Corriger la barre de progression pour les fichiers CSV.
  • Corriger la lecture d’un fichier binaire comme fichier d’entrée au lieu du fichier journal.
  • Encoder la sortie HTML des requêtes en UTF8 afin d’éviter le message « Wide character in print ». Merci à Colin ’t Hart pour le signalement.
  • Ajouter la clé/valeur « distance des points de contrôle » pour la distance maximale.
  • Corriger l’analyse des logs de pgbouncer et les rapports de débit de requêtes. Merci à Levente Birta pour le signalement.
  • Corriger l’utilisation de csvlog au lieu de csv pour le format d’entrée.
  • Ajouter la prise en charge du format de journal pgbouncer 1.8. Merci à Levente Birta pour le signalement.
  • Ajouter un avertissement concernant le traitement parallèle désactivé avec csvlog. Merci à cstdenis pour le signalement.
  • Ajouter des informations dans la sortie d’aide sur le forçage du processus unique avec le format csvlog via les options -j et -J. Merci à cstdenis pour le signalement.
  • Corriger l’erreur « format de ligne inconnu » pour les journaux multilignes lors d’une analyse incrémentale via SSH. Merci à Wooyoung Cho pour le signalement.
  • Ajouter l’option -k (–insecure) à la commande curl afin de pouvoir télécharger des journaux depuis un serveur utilisant un certificat auto-signé.
  • Ajuster automatiquement le fuseau horaire des graphiques JavaScript. Merci à Massimino Sala pour la demande de fonctionnalité.
  • Ajouter la prise en charge du téléchargement des journaux HTTP par pgBadger, par exemple : /usr/bin/pgbadger http://www.mydom.com/postgresql-10.log
  • Analyser le fichier pendant son téléchargement à l’aide de la commande curl.
  • Corriger la documentation. Merci à 0xflotus pour le correctif.
  • Reappliquer la correction relative au remplacement des paramètres liés après un nettoyage de code supplémentaire. Merci à Bernhard J. M. Grun pour le signalement.
  • Ajouter l’option –exclude-db pour générer un rapport sur tout sauf la base de données spécifiée. Cette option peut être utilisée plusieurs fois.

v10.1 · 2018-09-12

Cette version de pgBadger est une mise à jour de maintenance qui corrige les rapports en mode incrémentiel et en mode multiprocessus avec l’option -j. La lecture des journaux depuis l’entrée standard était également défectueuse. Si vous utilisez la version 10.0, mettez à jour dès maintenant.

  • Ajouter un test sur le parseur de journaux de pgbouncer.
  • Quelques améliorations de performances mineures.
  • Corriger le descripteur de fichier non valide à la ligne 12314 de pgBadger.
  • Corriger la saut de ligne indésirable dans la barre de progression au démarrage.
  • Supprimer les fichiers CircleCI du projet.
  • Supprimer la dépendance à bats et jq pour la suite de tests, remplacées par Test::Simple et JSON::XS.
  • Ajouter davantage de tests, notamment pour le mode incrémentiel et l’entrée depuis stdin, qui était défectueuse dans la version 10.0.
  • Synchroniser pgBadger, pod et README, et corriger quelques erreurs de syntaxe. Remerciements à Christoph Berg pour le correctif.
  • Ajouter la documentation sur la manière d’installer le module Perl JSON::XS depuis les dépôts apt et yum.
  • Corriger l’URI pour le CSS en mode incrémentiel. Remerciements à Floris van Nee pour le signalement.
  • Corriger l’erreur fatale lors de la recherche de journaux depuis STDIN. Remerciements à Jacek Szpot pour le signalement.
  • Corriger l’utilisation de SED pour les builds macOS. Remerciements à Steve Newson pour le correctif.
  • Corriger la division par zéro illégale en mode incrémentiel. Remerciements à aleszeleny pour le signalement.
  • Remplacer SQL::Beautify par la version 3.1 de pgFormatter::Beautify.

v10.0 · 2018-09-09

Cette version de pgBadger est une version majeure qui introduit de nouvelles fonctionnalités et corrige tous les problèmes signalés par les utilisateurs depuis la dernière version.

  • Ajouter le support du format de fichier journal syslog de pgbouncer.
  • Ajouter le support de tous les formats auto_explain (texte, XML, JSON et YAML).
  • Ajouter le support du placeholder %q dans log_line_prefix.
  • Ajouter le format jsonlog de l’extension de Michael Paquier, avec -f jsonlog pgBadger pourra parser le fichier journal.
  • Remplacer le formateur SQL/embellisseur par la version 3.0 de pgFormatter.

Une nouvelle option de ligne de commande est disponible :

  • Ajouter l’option en ligne de commande –prettify-json pour formater de manière lisible la sortie JSON.
  • Ajouter l’option en ligne de commande –log-timezone + /-XX pour définir le nombre d’heures par rapport à GMT de la zone horaire à utiliser afin d’ajuster les dates/heure lues dans le fichier journal avant leur analyse. Notez que vous pourriez toutefois devoir ajuster la zone horaire du graphique en utilisant -Z lorsque le client n’utilise pas la même zone horaire.
  • Ajouter l’option –include-time pour permettre de choisir les périodes que vous souhaitez afficher, plutôt que d’exclure toutes les périodes que vous ne souhaitez pas voir (–exclude-time).

Le projet pgBadger et ses droits d’auteur ont été transférés de Dalibo à l’auteur et au mainteneur officiel du projet. Veuillez mettre à jour vos liens :

Je tiens à remercier chaleureusement les équipes de Dalibo pour leurs investissements constants dans pgBadger au fil des années, et plus particulièrement Damien Clochard et Jean-Paul Argudo pour leur aide précieuse à la promotion de pgBadger.

  • Corriger la distance du point de contrôle et l’estimation non rapportées en mode incrémentiel. Remerciements à aleszeleny pour le signalement.
  • Corriger le titre du rapport des sessions simultanées de pgbouncer. Remerciements à Jehan Guillaume De Rorthais pour le signalement.
  • Ajouter le support du format de fichier journal syslog de pgbouncer. Remerciements à djester pour la demande de fonctionnalité.
  • Corriger l’erreur lorsque un fichier journal distant est vide. Remerciements à Parasit Hendersson pour le signalement.
  • Corriger le test avec le format binaire. Le fichier binaire doit être généré tel quel, car il dépend de la plateforme. Remerciements à Michal Nowak pour le signalement.
  • Corriger le cas où un plan d’explication vide est généré.
  • Corriger l’analyse du format par défaut détecté automatiquement avec un préfixe en ligne de commande.
  • Supprimer la dépendance à la commande git dans Makefile.PL.
  • Mettre à jour la documentation concernant les modifications d’options et supprimer la partie [%l-1] du préfixe obligatoire.
  • Corriger l’analyse de l’utilisation système vacuum / analyze pour PostgreSQL 10. Remerciements à Achilleas Mantzios pour le correctif.
  • Corriger le tableau de l’activité des fichiers temporaires.
  • Supprimer la dépendance à git lors de l’installation.
  • Ajouter l’option en ligne de commande –log-timezone + /-XX pour définir le nombre d’heures par rapport à GMT de la timezone à utiliser pour ajuster les dates/heure lues dans le fichier journal avant leur analyse. L’utilisation de cette option rend la recherche de dates/heure dans le fichier journal plus difficile, car l’heure ne sera pas la même dans le fichier. Notez que vous pourriez toujours devoir ajuster la timezone du graphique en utilisant -Z lorsque le client n’a pas la même timezone. Remerciements à xdexter pour la demande de fonctionnalité et à Julien Tachoire pour le correctif.
  • Ajouter le support du format de sortie json pour auto_explain. Remerciements à dmius pour le signalement.
  • Corriger le parseur auto_explain et les requêtes comptées deux fois. Remerciements à zam6ak pour le signalement.
  • Corriger l’expression régulière du point de contrôle pour qu’elle corresponde aux messages de journal de PostgreSQL 10. Remerciements à Edmund Horner pour le correctif.
  • Mettre à jour la description de l’option -f | –format en ajoutant des informations sur le format jsonlog.
  • Corriger la normalisation des requêtes pour éviter les doublons avec les requêtes bindées. La normalisation des valeurs est désormais transformée en un seul ? au lieu de 0 pour les nombres et deux apostrophes simples pour les chaînes. Remerciements à vadv pour le signalement.
  • Corriger le comptage des niveaux de journalisation. Remerciements à Jean-Christophe Arnu pour le signalement.
  • Rendre pgBadger plus conforme à B::Lint pour les noms de sous-routines nues.
  • Rendre perlcritic satisfait.
  • Ajouter l’option en ligne de commande –prettify-json pour formater proprement la sortie JSON. La sortie par défaut est sur une seule ligne.
  • Corriger le rapport de répartition des événements.
  • Corriger le bug avec –prefix lorsque log_line_prefix contient plusieurs %%. Remerciements à svb007 pour le signalement.
  • Ajouter l’option en ligne de commande –log-timezone + /-XX pour définir le nombre d’heures par rapport à GMT de la timezone à utiliser pour ajuster les dates/heure lues dans le fichier journal avant leur analyse. L’utilisation de cette option rend la recherche de dates/heure dans le fichier journal plus difficile, car l’heure ne sera pas la même dans le fichier. Notez que vous pourriez toujours devoir ajuster la timezone du graphique en utilisant -Z lorsque le client n’a pas la même timezone. Remerciements à xdexter pour la demande de fonctionnalité.
  • Supprimer INDEXES de la liste des mots-clés et ajouter BUFFERS à cette liste.
  • Corriger la normalisation des requêtes utilisant des curseurs.
  • Supprimer le Dockerfile et la documentation relative à docker run. pgBadger est fourni sous forme d’un seul script Perl sans dépendance et peut être utilisé sur toute plateforme. Il est inutile d’utiliser Docker pour exécuter pgBadger, si vous ne souhaitez rien installer : copiez simplement le fichier pgBadger là où vous le souhaitez et exécutez-le.
  • Corriger la grille cassée lorsque aucune activité de fichiers temporaires n’est présente. Remerciements à Pierre Giraud pour le correctif.
  • Ajouter un avertissement dans la documentation concernant log_in_duration_statement vs log_duration + log_statement. Remerciements à Julien Tachoire pour le correctif.
  • Appliquer le décalage de timezone aux graphiques en barres. Remerciements à Julien Tachoire pour le correctif.
  • Supprimer les informations actuelles sur les fichiers temporaires si une erreur est rencontrée pour le même PID. Remerciements à Julien Tachoire pour le correctif.
  • Utiliser de manière cohérente app= dans les exemples, et prendre en charge appname=. Certains exemples d’utilisation utilisaient appname= dans le préfixe, mais le code ne reconnaissait pas ce jeton. Utilisez app= dans tous les exemples, et ajoutez appname= au parseur de préfixe. Remerciements à Christoph Berg pour le correctif.
  • Corriger le nom long incorrect de l’option -J qui devrait être –Jobs au lieu de –job_per_file.. Remerciements à Chad Trabant pour le signalement et à Etienne Bersac pour le correctif.
  • Ignorer les fichiers blib. Remerciements à Etienne Bersac pour le correctif.
  • Ajouter des tests de cohérence. Remerciements à damien clochard pour le correctif.
  • Mise à jour de la documentation : stderr n’est pas la valeur par défaut pour -f.. Remerciements à Christophe Courtois pour le correctif.
  • Mettre à jour en permanence le POD et le README. Remerciements à Etienne Bersac pour le correctif.
  • Ajouter des tests de régression. Remerciements à Etienne Bersac pour le correctif.
  • Ajouter la configuration editorconfig. Remerciements à Etienne Bersac pour le correctif.
  • Supprimer les fichiers temporaires vi du fichier gitignore. Remerciements à Etienne Bersac pour le correctif.
  • Ajouter l’option –include-time pour permettre de choisir les moments que vous souhaitez voir, plutôt que d’exclure tous les moments que vous ne souhaitez pas voir. Cela est pratique lorsque vous souhaitez afficher uniquement un ou deux jours parmi une semaine de journaux (réduit de plusieurs options –exlucde-time à une seule option –include-time). Remerciements à Wesley Bowman pour le correctif.
  • Vérifier la syntaxe du POD. Remerciements à Etienne Bersac pour le correctif.
  • Ajouter HACKING pour documenter les tests. Remerciements à Etienne Bersac pour le correctif.
  • Supprimer l’option obsolète –bar-graph. Remerciements à Etienne Bersac pour le correctif.
  • Supprimer le fichier .perltidyrc trompeur. Ce fichier date de 2012 et le code de pgBadger est bien loin d’être conforme. La différence unifiée perltidy fait 10 k lignes. Supprimons-le. Remerciements à Etienne Bersac pour le correctif.
  • Corriger l’utilisation d’une valeur non initialisée dans la mise en forme SQL. Remerciements à John Krugger pour le signalement et à Jean-paul Argudo pour le signalement.

5 - Notes de version de pgBadger 9.x

Notes de version complètes de la série pgBadger 9.x

Ces entrées conservent l’intégralité de l’historique des modifications upstream pour pgBadger 9.x, du plus récent au plus ancien.

v9.2 · 2017-07-27

Cette version de pgBadger est une mise à jour de maintenance qui ajoute quelques nouvelles fonctionnalités.

  • Ajouter un rapport de distance entre les points de contrôle et une estimation.
  • Ajouter le support des mots-clés AWS Redshift dans le formateur de code SQL.
  • Ajouter la détection automatique du format du fichier journal en mode distant afin de permettre l’analyse distante du fichier journal de pgbouncer conjointement avec le fichier journal PostgreSQL.

Il existe également quelques corrections de bogues et améliorations de fonctionnalités.

  • Correction du rapport avec histogramme qui n’affichait pas les données supérieures à la dernière plage.
  • Correction de l’analyse de journalctl sans le motif de numéro de ligne ([%l-n]). Remerciements à Christian Schmitt pour le signalement.
  • Ajout du rapport sur la distance et l’estimation du point de contrôle. Remerciements à jjsantam pour la demande de fonctionnalité.
  • Ajout d’informations supplémentaires sur les actions effectuées par le script pour mettre à jour les fichiers CSS et JavaScript, tools/updt_embedded_rsc.pl.
  • Ne plus émettre d’avertissement lorsque tous les fichiers journaux sont vides et quitter avec le code 0.
  • Correction de build_log_line_prefix_regex() qui ne comprenait pas %n comme clé de recherche dans %regex_map. Remerciements à ghosthound pour le correctif.
  • Changement du niveau d’erreur de « FATAL : impossible d’utiliser CSV » en AVERTISSEMENT. Remerciements à kong1man pour le signalement.
  • Correction de l’avertissement relatif à une valeur non initialisée. Remerciements à Payal pour le signalement.
  • Ajout de « permission refusée » à la normalisation des erreurs.
  • Mise à jour de pgBadger vers le dernier commit 5bdc018 de pgFormatter.
  • Ajout du support des mots-clés AWS Redshift. Remerciements à cavanaug pour la demande de fonctionnalité.
  • Correction de l’absence de requête dans le rapport de fichier temporaire lorsque la requête était annulée. Remerciements à Fabrizio de Royes Mello pour le signalement.
  • Normalisation des requêtes avec paramètres liés, remplacés par un « ? ».
  • Vérification de cohérence pour éviter une heure de fin antérieure à l’heure de début. Remerciements à Christophe Courtois pour le correctif.
  • Correction de nombreux mots mal orthographiés et ajustements grammaticaux. Utilisation de « pgBadger » lorsqu’il s’agit du programme et non du fichier binaire. Utilisation d’expressions officielles telles que PgBouncer, GitHub et CSS. Le fichier POD a été synchronisé avec README. Remerciements à Euler Taveira pour le correctif.
  • Le menu est corrompu lorsque –disable-type le test top_cancelled_info et la fermeture de la liste doivent être inclus dans le test disable_type. Pendant cette correction, correction du test disable_lock. Remerciements à Euler Taveira pour le correctif.
  • Correction de l’utilisation d’une valeur non initialisée. Remerciements à johnkrugger pour le signalement.
  • Suppression du test de lecture du fichier journal pendant l’auto-détection du format du journal lorsque le fichier est hébergé à distance. Remerciements à clomdd pour le signalement.
  • Ajout de l’auto-détection du format du journal en mode distant pour permettre l’analyse distante du fichier journal de pgbouncer en parallèle avec celui de PostgreSQL.
  • Correction de l’incrémentation erronée du nombre de sessions après la validation de la ligne journal. Remerciements à Achilleas Mantzios pour le signalement.
  • Réorganisation mineure de la description de pgBadger.
  • Correction d’informations redondantes dans la documentation. Remerciements à cscatolini pour le correctif.

v9.1 · 2017-01-24

Cette version de pgBadger est une mise à jour de maintenance qui ajoute quelques nouvelles fonctionnalités.

  • Ajouter un rapport de répartition des classes d’erreur lorsque SQLState est disponible dans log_line_prefix (voir le placeholder %e).
  • Mettre à jour le formateur SQL pour utiliser le code pgFormatter v1.6.
  • Améliorer la normalisation des messages d’erreur.
  • Ajouter l’option –normalized-only pour générer un fichier texte contenant toutes les requêtes normalisées trouvées dans un journal, avec leur fréquence.
  • Permettre à %c (identifiant de session) de remplacer %p (PID) comme identifiant unique de session.
  • Ajouter les messages d’attente de verrou aux rapports d’événements.
  • Ajouter l’option –start-monday pour faire commencer les semaines du calendrier le lundi au lieu du dimanche par défaut.

Il existe également quelques corrections de bogues et améliorations de fonctionnalités.

  • Ajouter un rapport de répartition des classes d’erreurs lorsque SQLState est disponible dans le préfixe de ligne de journal. Remerciements à jacks33 pour la demande de fonctionnalité.
  • Corriger l’index global incrémental lors du redimensionnement. Remerciements à clomdd pour le rapport.
  • Corriger le placeholder %i du préfixe de journal command_tag pour autoriser le caractère espace.
  • Corriger les options –exclude-line et la suppression du répertoire obsolète lorsque la rétention est activée et que –noreport est utilisé.
  • Corriger une faute de frappe dans « table d’activité de vacuum ». Remerciements à Nicolas Gollet pour le correctif.
  • Corriger le rapport d’autovacuum. Remerciements à Nicolas Gollet pour le correctif.
  • Corriger l’auteur du logo de pgBadger – Damien Cazeils – et le français dans les commentaires. Remerciements à Thibaut Madelaine pour le correctif.
  • Ajouter des informations sur le format de journal de pgbouncer dans l’option -f. Remerciements à clomdd pour le rapport.
  • Ajouter des informations sur –normalized-only dans la documentation.
  • Corriger le rapport cassé de la date-heure introduit dans le correctif précédent.
  • Corriger l’association durée/requête lorsque log_duration=on et log_statement=all. Remerciements à Eric Jensen pour le rapport.
  • Corriger la normalisation des messages concernant les verrous d’advisory. Remerciements à Thibaut Madelaine pour le rapport.
  • Corriger le rapport de sortie d’auto_explain. Remerciements à fch77700 pour le rapport.
  • Corriger la détection automatique du format de journal incorrecte avec les entrées de journal provenant de stdin. Remerciements à Jesus Adolfo Parra pour le rapport.
  • Ajouter une parenthèse ouvrante à la liste des caractères « stop » de la regex utilisée pour rechercher le client base de données dans le préfixe, afin de gérer le format de chaîne du client PostgreSQL incluant le port source. Remerciements à Jon Nelson pour le correctif.
  • Corriger certaines erreurs d’orthographe. Remerciements à Jon Nelson pour le correctif.
  • Permettre à %c (identifiant de session) de remplacer %p (PID) comme identifiant unique de session. Remerciements à Jerryliuk pour le rapport.
  • Permettre à pgBadger de parser le préfixe de journal par défaut qui sera probablement utilisé dans la version 10.0 : ‘%m [%p] '
  • Corriger la ligne manquante initiale avec l’appel à l’interpréteur.
  • Corriger l’absence des valeurs Moy. dans le rapport CSV. Remerciements à Yosuke Tomita pour le rapport.
  • Corriger le message d’erreur dans la méthode autodetect_format().
  • Ajouter l’option –start-monday pour commencer les semaines du calendrier le lundi au lieu du dimanche par défaut. Remerciements à Joosep Mae pour la demande de fonctionnalité.
  • Corriger l’option –histo-average. Remerciements à Yves Martin pour le rapport.
  • Supprimer la forme plurielle de –ssh-option dans la documentation. Remerciements à mark-a-s pour le rapport.
  • Corriger le filtre –exclude-time et réécrire le code pour ignorer les lignes non souhaitées ainsi que le code mis à jour pour la barre de progression. Remerciements à Michael Chesterton pour le rapport.
  • Corriger le support du placeholder %r dans le préfixe au lieu de %h.

v9.0 · 2016-09-02

Cette version majeure de pgBadger est une migration vers Bootstrap 3 ainsi qu’une mise à jour de toutes les ressources (CSS et JavaScript). Elle inclut également la correction de certains bogues et des améliorations de fonctionnalités.

La compatibilité ascendante avec les anciens rapports incrémentiels peut être préservée.

  • Les sources et licences des fichiers de ressources sont désormais disponibles dans un sous-répertoire dédié. Un script permettant de mettre à jour la version minifiée intégrée au script pgBadger a été ajouté. Remerciements à Christoph Berg pour son aide et sa demande de fonctionnalité.

  • Essayer de détecter l’utilisateur/base de données/hôte à partir des chaînes de connexion si log_connection est activé et si log_line_prefix ne les inclut pas. Extend the regex to autodetect database name, user name, client ip address and application name. The regex now are the following:

    db => qr/(?:db|database)=([^,]*)/;
    user => qr/(?:user|usr)=([^,]*)/;
    client => qr/(?:client|remote|ip|host)=([^,]*)/;
    appname => qr/(?:app|application)=([^,]*)/;
    
  • Ajouter la compatibilité descendante avec les versions antérieures de pgBadger en mode incrémentiel en créant un sous-répertoire pour les nouveaux fichiers CSS et JavaScript. Ce sous-répertoire est nommé en fonction du numéro de version majeure de pgBadger.

  • Augmentez la taille du logo pgBadger qui apparaît trop petit avec la nouvelle taille de police.

  • Normaliser les informations détaillées dans tous les rapports.

  • Corriger l’icône de copie en double dans le rapport des verrous.

  • Corriger le graphique manquant dans l’histogramme du temps de session. Remerciements à Guillaume Lelarge pour le rapport.

  • Ajouter un fichier LICENSE indiquant les licences utilisées par les fichiers de ressources. Remerciements à Christoph Berg pour le correctif.

  • Ajouter un correctif à la bibliothèque jqplot pour corriger une boucle infinie lors de la tentative de téléchargement de certains graphiques. Merci à Julien Tachoires pour son aide dans la résolution de ce problème.

  • Outil de script tools/updt_embedded_rsc.pl appliquera le correctif au fichier de ressources resources/jquery.jqplot.js et ne produira pas d’alerte s’il a déjà été appliqué.

  • Supprime la virgule finale unique à la fin du jeu de données du graphique camembert. Merci à Julien Tachoires pour le rapport.

  • Modifier l’affichage de l’erreur normalisée

  • Supprimer les fichiers inutilisés ou générés automatiquement

  • Mettez à jour tous les fichiers de ressources (js+css) et créez un répertoire pour inclure les sources des bibliothèques JavaScript utilisées par pgBadger. Un nouveau script, tools/updt_embedded_rsc.pl, peut être utilisé pour générer la version minifiée de ces fichiers et les intégrer directement dans pgBadger. Ce script intègre également le fichier de police open truetype FontAwesome.otf dans le fichier fontawesome.css.