SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
PgBadger
PgBadger
JJ   Outil d’analyse en Perl pour les logs PostgreSQL
JJ   Anciennement pgFouine
JJ   Open-Source (PostgreSQL License)
JJ   Nécessite l’activation des logs dans PostgreSQL




                                                        1
Installation
Source à télécharger sur http://sourceforge.net/projects/pgbadger/

 Commandes pour l’installation
 $   tar -xzf pgbadger-3.x.tar.gz
 $   cd pgbadger-3.x/
 $   perl Makefile.PL
 $   make && make install




                                                                     2
Activation des logs dans PostgreSQL
Commande pour trouver ou se trouve le fichier postgresql.conf
$ psql dbname -c ‘SHOW config_file’ | grep ‘.conf’



Activation des logs avec une durée minimale en milliseconde (0 : tout, -1 : désactiver)
log_min_duration_statement = 2
log_destination = ‘stderr’



Choix du répertoire pour les logs
log_directory = ‘pg_log’



Noms des fichiers de log
log_filename = ‘postgresql-%Y-%m-%d.log’




                                                                                          3
Activation des logs dans PostgreSQL
Eviter d’écraser les logs en cas de redémarrage de la db
log_truncate_on_rotation = off



Format minimum pour les logs
log_line_prefix = ‘%t [%p]: [%l-1] ‘



Rotation des logs
log_rotation_age = 1d
log_rotation_size = 10MB



Redémarrage de PostgreSQL
$ pg_ctl stop
waiting for server to shut down.... done
server stopped
$ pg_ctl start
server starting




                                                           4
Activation des logs dans PostgreSQL
Exemple de log PostgreSQL
2013-02-22 17:21:14 CET [95200]: [81-1] LOG: duration: 60.945 ms statement: SELECT count(1) AS
count_1
	 FROM vacationvt.list JOIN vacationvt.list_status_view ON vacationvt.list.id = vacationvt.list_
status_view.list_id
	 WHERE vacationvt.list.isvalid = true AND vacationvt.list.prestation_min_date >= ‘2012-04-01T00
:00:00’::timestamp AND vacationvt.list.prestation_max_date <= ‘2012-06-30T23:59:00’::timestamp AND
vacationvt.list.type = E’VISIT_PORCS’ AND vacationvt.list.list_type = E’FINAL’ AND vacationvt.list_
status_view.status IS NOT NULL AND vacationvt.list.vt_id = E’BE00005016’ AND vacationvt.list.
creation_date < ‘2012-07-27T10:01:52.549269’::timestamp




                                                                                                      5
Analyse des logs
Exécution de l’analyse
pgbadger /opt/local/var/db/postgresql90/defaultdb/pg_log/postgresql-2013-02-22.log 
-o 2013-02-22.html




                                                                                       6
Démo




       7
Questions




            8
Liens
JJ   Site internet : http://dalibo.github.com/pgbadger/
JJ   Github : https://github.com/dalibo/pgbadger
JJ   Documentation pgBadger  :
      http://dalibo.github.com/pgbadger/documentation.html




                                                             9

Weitere ähnliche Inhalte

Was ist angesagt?

ProxySQL in the Cloud
ProxySQL in the CloudProxySQL in the Cloud
ProxySQL in the CloudRené Cannaò
 
Maxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinMaxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinWagner Bianchi
 
Connection Pooling in PostgreSQL using pgbouncer
Connection Pooling in PostgreSQL using pgbouncer Connection Pooling in PostgreSQL using pgbouncer
Connection Pooling in PostgreSQL using pgbouncer Sameer Kumar
 
pg_proctab: Accessing System Stats in PostgreSQL
pg_proctab: Accessing System Stats in PostgreSQLpg_proctab: Accessing System Stats in PostgreSQL
pg_proctab: Accessing System Stats in PostgreSQLCommand Prompt., Inc
 
Workshop Spring - Session 4 - Spring Batch
Workshop Spring -  Session 4 - Spring BatchWorkshop Spring -  Session 4 - Spring Batch
Workshop Spring - Session 4 - Spring BatchAntoine Rey
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...MOHAMMED MOURADI
 
Linux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performanceLinux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performancePostgreSQL-Consulting
 
Tuning Autovacuum in Postgresql
Tuning Autovacuum in PostgresqlTuning Autovacuum in Postgresql
Tuning Autovacuum in PostgresqlMydbops
 
MySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessMySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessSveta Smirnova
 
Zabbix - fonctionnement, bonnes pratiques, inconvenients
Zabbix - fonctionnement, bonnes pratiques, inconvenientsZabbix - fonctionnement, bonnes pratiques, inconvenients
Zabbix - fonctionnement, bonnes pratiques, inconvenientsbiapy
 
Linux Systems Performance 2016
Linux Systems Performance 2016Linux Systems Performance 2016
Linux Systems Performance 2016Brendan Gregg
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxNeoClova
 
Advanced pg_stat_statements: Filtering, Regression Testing & more
Advanced pg_stat_statements: Filtering, Regression Testing & moreAdvanced pg_stat_statements: Filtering, Regression Testing & more
Advanced pg_stat_statements: Filtering, Regression Testing & moreLukas Fittl
 
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)Altinity Ltd
 
Top-10-Features-In-MySQL-8.0 - Vinoth Kanna RS - Mydbops Team
Top-10-Features-In-MySQL-8.0 - Vinoth Kanna RS - Mydbops TeamTop-10-Features-In-MySQL-8.0 - Vinoth Kanna RS - Mydbops Team
Top-10-Features-In-MySQL-8.0 - Vinoth Kanna RS - Mydbops TeamMydbops
 
Le Plan de Reprise d'Activité pour les PME
Le Plan de Reprise d'Activité pour les PMELe Plan de Reprise d'Activité pour les PME
Le Plan de Reprise d'Activité pour les PMEAvignon Delta Numérique
 
Architectures microservices
Architectures microservicesArchitectures microservices
Architectures microservicesRiadh MNASRI
 

Was ist angesagt? (20)

ProxySQL in the Cloud
ProxySQL in the CloudProxySQL in the Cloud
ProxySQL in the Cloud
 
Maxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinMaxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoin
 
Connection Pooling in PostgreSQL using pgbouncer
Connection Pooling in PostgreSQL using pgbouncer Connection Pooling in PostgreSQL using pgbouncer
Connection Pooling in PostgreSQL using pgbouncer
 
pg_proctab: Accessing System Stats in PostgreSQL
pg_proctab: Accessing System Stats in PostgreSQLpg_proctab: Accessing System Stats in PostgreSQL
pg_proctab: Accessing System Stats in PostgreSQL
 
Gestion de projet
Gestion de projetGestion de projet
Gestion de projet
 
Rôles product-owner
Rôles product-ownerRôles product-owner
Rôles product-owner
 
Workshop Spring - Session 4 - Spring Batch
Workshop Spring -  Session 4 - Spring BatchWorkshop Spring -  Session 4 - Spring Batch
Workshop Spring - Session 4 - Spring Batch
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
 
Linux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performanceLinux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performance
 
Tuning Autovacuum in Postgresql
Tuning Autovacuum in PostgresqlTuning Autovacuum in Postgresql
Tuning Autovacuum in Postgresql
 
MySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessMySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your Business
 
Zabbix - fonctionnement, bonnes pratiques, inconvenients
Zabbix - fonctionnement, bonnes pratiques, inconvenientsZabbix - fonctionnement, bonnes pratiques, inconvenients
Zabbix - fonctionnement, bonnes pratiques, inconvenients
 
Linux Systems Performance 2016
Linux Systems Performance 2016Linux Systems Performance 2016
Linux Systems Performance 2016
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docx
 
Advanced pg_stat_statements: Filtering, Regression Testing & more
Advanced pg_stat_statements: Filtering, Regression Testing & moreAdvanced pg_stat_statements: Filtering, Regression Testing & more
Advanced pg_stat_statements: Filtering, Regression Testing & more
 
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
Top-10-Features-In-MySQL-8.0 - Vinoth Kanna RS - Mydbops Team
Top-10-Features-In-MySQL-8.0 - Vinoth Kanna RS - Mydbops TeamTop-10-Features-In-MySQL-8.0 - Vinoth Kanna RS - Mydbops Team
Top-10-Features-In-MySQL-8.0 - Vinoth Kanna RS - Mydbops Team
 
Le Plan de Reprise d'Activité pour les PME
Le Plan de Reprise d'Activité pour les PMELe Plan de Reprise d'Activité pour les PME
Le Plan de Reprise d'Activité pour les PME
 
Architectures microservices
Architectures microservicesArchitectures microservices
Architectures microservices
 

Andere mochten auch

alphorm.com - Formation PostgreSQL administration
alphorm.com - Formation PostgreSQL administrationalphorm.com - Formation PostgreSQL administration
alphorm.com - Formation PostgreSQL administrationAlphorm
 
Como lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQLComo lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQLDiego Santos
 
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)Noriyoshi Shinoda
 
Les bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers PostgresLes bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers PostgresEDB
 
Dessin animé noel
Dessin animé noelDessin animé noel
Dessin animé noelpepita8342
 
Liegecreative smartcities-hec-230513-2-130524063659-phpapp02
Liegecreative smartcities-hec-230513-2-130524063659-phpapp02Liegecreative smartcities-hec-230513-2-130524063659-phpapp02
Liegecreative smartcities-hec-230513-2-130524063659-phpapp02dominique van duyse
 
Ejercicio 2, Curso Power Point, RocíO AlféRez Torres
Ejercicio 2, Curso Power Point, RocíO AlféRez TorresEjercicio 2, Curso Power Point, RocíO AlféRez Torres
Ejercicio 2, Curso Power Point, RocíO AlféRez TorresRocio Alferez Torres
 
SIMEX Cyclone 2015 au COUN, Port-au-Prince, Haïti
SIMEX Cyclone 2015 au COUN, Port-au-Prince, HaïtiSIMEX Cyclone 2015 au COUN, Port-au-Prince, Haïti
SIMEX Cyclone 2015 au COUN, Port-au-Prince, HaïtiJoseph Edgard Célestin
 
Condamnation dans l'affaire Thierry Lacoste contre Robert Eringer. Ordonnance...
Condamnation dans l'affaire Thierry Lacoste contre Robert Eringer. Ordonnance...Condamnation dans l'affaire Thierry Lacoste contre Robert Eringer. Ordonnance...
Condamnation dans l'affaire Thierry Lacoste contre Robert Eringer. Ordonnance...Square75
 
Reglas de Juego 2009/2010 FIFA
Reglas de Juego 2009/2010 FIFAReglas de Juego 2009/2010 FIFA
Reglas de Juego 2009/2010 FIFAATLETISOY
 
Tema 2 EspañA En La Europa NapoleóNica
Tema 2 EspañA En La Europa NapoleóNicaTema 2 EspañA En La Europa NapoleóNica
Tema 2 EspañA En La Europa NapoleóNicajoaquin calzado
 
Ejercicio2 José Joaquín Ponferrada Cobos
Ejercicio2 José Joaquín Ponferrada CobosEjercicio2 José Joaquín Ponferrada Cobos
Ejercicio2 José Joaquín Ponferrada CobosJose_Cobos
 
Lenguaje Multimedia
Lenguaje MultimediaLenguaje Multimedia
Lenguaje Multimediajhorman
 

Andere mochten auch (20)

alphorm.com - Formation PostgreSQL administration
alphorm.com - Formation PostgreSQL administrationalphorm.com - Formation PostgreSQL administration
alphorm.com - Formation PostgreSQL administration
 
Como lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQLComo lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQL
 
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
 
Les bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers PostgresLes bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers Postgres
 
Postales Del Fin Del Mundo
Postales Del Fin Del MundoPostales Del Fin Del Mundo
Postales Del Fin Del Mundo
 
Dessin animé noel
Dessin animé noelDessin animé noel
Dessin animé noel
 
Ara
AraAra
Ara
 
Liegecreative smartcities-hec-230513-2-130524063659-phpapp02
Liegecreative smartcities-hec-230513-2-130524063659-phpapp02Liegecreative smartcities-hec-230513-2-130524063659-phpapp02
Liegecreative smartcities-hec-230513-2-130524063659-phpapp02
 
Ejercicio 2, Curso Power Point, RocíO AlféRez Torres
Ejercicio 2, Curso Power Point, RocíO AlféRez TorresEjercicio 2, Curso Power Point, RocíO AlféRez Torres
Ejercicio 2, Curso Power Point, RocíO AlféRez Torres
 
La lettre du climat n°03
La lettre du climat n°03La lettre du climat n°03
La lettre du climat n°03
 
La lettre du climat n°07
La lettre du climat n°07La lettre du climat n°07
La lettre du climat n°07
 
SIMEX Cyclone 2015 au COUN, Port-au-Prince, Haïti
SIMEX Cyclone 2015 au COUN, Port-au-Prince, HaïtiSIMEX Cyclone 2015 au COUN, Port-au-Prince, Haïti
SIMEX Cyclone 2015 au COUN, Port-au-Prince, Haïti
 
Condamnation dans l'affaire Thierry Lacoste contre Robert Eringer. Ordonnance...
Condamnation dans l'affaire Thierry Lacoste contre Robert Eringer. Ordonnance...Condamnation dans l'affaire Thierry Lacoste contre Robert Eringer. Ordonnance...
Condamnation dans l'affaire Thierry Lacoste contre Robert Eringer. Ordonnance...
 
Dictons anciens
Dictons anciensDictons anciens
Dictons anciens
 
Reglas de Juego 2009/2010 FIFA
Reglas de Juego 2009/2010 FIFAReglas de Juego 2009/2010 FIFA
Reglas de Juego 2009/2010 FIFA
 
Tema 2 EspañA En La Europa NapoleóNica
Tema 2 EspañA En La Europa NapoleóNicaTema 2 EspañA En La Europa NapoleóNica
Tema 2 EspañA En La Europa NapoleóNica
 
Proyecto De Paz
Proyecto De PazProyecto De Paz
Proyecto De Paz
 
Tarjeta Gráfica
Tarjeta GráficaTarjeta Gráfica
Tarjeta Gráfica
 
Ejercicio2 José Joaquín Ponferrada Cobos
Ejercicio2 José Joaquín Ponferrada CobosEjercicio2 José Joaquín Ponferrada Cobos
Ejercicio2 José Joaquín Ponferrada Cobos
 
Lenguaje Multimedia
Lenguaje MultimediaLenguaje Multimedia
Lenguaje Multimedia
 

Ähnlich wie Pgbadger

PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linuxKhalid ALLILI
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linuxKhalid ALLILI
 
PostgreSQL plprofiler - Mars 2017 - Loxodata
PostgreSQL  plprofiler - Mars 2017 - LoxodataPostgreSQL  plprofiler - Mars 2017 - Loxodata
PostgreSQL plprofiler - Mars 2017 - Loxodataslardiere
 
Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Olivier Gutknecht
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDOAbdoulaye Dieng
 
SQL Debug avec Django @ PyConFr 2015
SQL Debug avec Django @ PyConFr 2015SQL Debug avec Django @ PyConFr 2015
SQL Debug avec Django @ PyConFr 2015Rodolphe Quiédeville
 
pgBackRest - pgday.fr
pgBackRest - pgday.frpgBackRest - pgday.fr
pgBackRest - pgday.frslardiere
 
Formation Linux lpi 101
Formation Linux lpi 101 Formation Linux lpi 101
Formation Linux lpi 101 Kais Baccour
 
Déploiement ELK en conditions réelles
Déploiement ELK en conditions réellesDéploiement ELK en conditions réelles
Déploiement ELK en conditions réellesGeoffroy Arnoud
 
JCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratiqueJCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratiqueRossi Oddet
 
Microbox : Ma toolbox microservices - Julien Roy
Microbox : Ma toolbox microservices - Julien RoyMicrobox : Ma toolbox microservices - Julien Roy
Microbox : Ma toolbox microservices - Julien Royekino
 
ToursJUG - Anniversaire 2016
ToursJUG - Anniversaire 2016ToursJUG - Anniversaire 2016
ToursJUG - Anniversaire 2016François Robert
 
10 astuces que vous pouvez faire dès maintenant pour améliorer la performance...
10 astuces que vous pouvez faire dès maintenant pour améliorer la performance...10 astuces que vous pouvez faire dès maintenant pour améliorer la performance...
10 astuces que vous pouvez faire dès maintenant pour améliorer la performance...Wiiisdom
 

Ähnlich wie Pgbadger (20)

Pgbackrest meetup
Pgbackrest meetupPgbackrest meetup
Pgbackrest meetup
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
 
Pytong2015
Pytong2015Pytong2015
Pytong2015
 
PostgreSQL plprofiler - Mars 2017 - Loxodata
PostgreSQL  plprofiler - Mars 2017 - LoxodataPostgreSQL  plprofiler - Mars 2017 - Loxodata
PostgreSQL plprofiler - Mars 2017 - Loxodata
 
Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
SQL Debug avec Django @ PyConFr 2015
SQL Debug avec Django @ PyConFr 2015SQL Debug avec Django @ PyConFr 2015
SQL Debug avec Django @ PyConFr 2015
 
iTunes Stats
iTunes StatsiTunes Stats
iTunes Stats
 
Hello mongo
Hello mongoHello mongo
Hello mongo
 
pgBackRest - pgday.fr
pgBackRest - pgday.frpgBackRest - pgday.fr
pgBackRest - pgday.fr
 
graylogF (2).pptx
graylogF (2).pptxgraylogF (2).pptx
graylogF (2).pptx
 
Formation Linux lpi 101
Formation Linux lpi 101 Formation Linux lpi 101
Formation Linux lpi 101
 
Déploiement ELK en conditions réelles
Déploiement ELK en conditions réellesDéploiement ELK en conditions réelles
Déploiement ELK en conditions réelles
 
JCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratiqueJCertif 2012 : Git par la pratique
JCertif 2012 : Git par la pratique
 
Corrige_partie_ADM.pdf
Corrige_partie_ADM.pdfCorrige_partie_ADM.pdf
Corrige_partie_ADM.pdf
 
graylog.pptx
graylog.pptxgraylog.pptx
graylog.pptx
 
Microbox : Ma toolbox microservices - Julien Roy
Microbox : Ma toolbox microservices - Julien RoyMicrobox : Ma toolbox microservices - Julien Roy
Microbox : Ma toolbox microservices - Julien Roy
 
ToursJUG - Anniversaire 2016
ToursJUG - Anniversaire 2016ToursJUG - Anniversaire 2016
ToursJUG - Anniversaire 2016
 
10 astuces que vous pouvez faire dès maintenant pour améliorer la performance...
10 astuces que vous pouvez faire dès maintenant pour améliorer la performance...10 astuces que vous pouvez faire dès maintenant pour améliorer la performance...
10 astuces que vous pouvez faire dès maintenant pour améliorer la performance...
 

Pgbadger

  • 2. PgBadger JJ Outil d’analyse en Perl pour les logs PostgreSQL JJ Anciennement pgFouine JJ Open-Source (PostgreSQL License) JJ Nécessite l’activation des logs dans PostgreSQL 1
  • 3. Installation Source à télécharger sur http://sourceforge.net/projects/pgbadger/ Commandes pour l’installation $ tar -xzf pgbadger-3.x.tar.gz $ cd pgbadger-3.x/ $ perl Makefile.PL $ make && make install 2
  • 4. Activation des logs dans PostgreSQL Commande pour trouver ou se trouve le fichier postgresql.conf $ psql dbname -c ‘SHOW config_file’ | grep ‘.conf’ Activation des logs avec une durée minimale en milliseconde (0 : tout, -1 : désactiver) log_min_duration_statement = 2 log_destination = ‘stderr’ Choix du répertoire pour les logs log_directory = ‘pg_log’ Noms des fichiers de log log_filename = ‘postgresql-%Y-%m-%d.log’ 3
  • 5. Activation des logs dans PostgreSQL Eviter d’écraser les logs en cas de redémarrage de la db log_truncate_on_rotation = off Format minimum pour les logs log_line_prefix = ‘%t [%p]: [%l-1] ‘ Rotation des logs log_rotation_age = 1d log_rotation_size = 10MB Redémarrage de PostgreSQL $ pg_ctl stop waiting for server to shut down.... done server stopped $ pg_ctl start server starting 4
  • 6. Activation des logs dans PostgreSQL Exemple de log PostgreSQL 2013-02-22 17:21:14 CET [95200]: [81-1] LOG: duration: 60.945 ms statement: SELECT count(1) AS count_1 FROM vacationvt.list JOIN vacationvt.list_status_view ON vacationvt.list.id = vacationvt.list_ status_view.list_id WHERE vacationvt.list.isvalid = true AND vacationvt.list.prestation_min_date >= ‘2012-04-01T00 :00:00’::timestamp AND vacationvt.list.prestation_max_date <= ‘2012-06-30T23:59:00’::timestamp AND vacationvt.list.type = E’VISIT_PORCS’ AND vacationvt.list.list_type = E’FINAL’ AND vacationvt.list_ status_view.status IS NOT NULL AND vacationvt.list.vt_id = E’BE00005016’ AND vacationvt.list. creation_date < ‘2012-07-27T10:01:52.549269’::timestamp 5
  • 7. Analyse des logs Exécution de l’analyse pgbadger /opt/local/var/db/postgresql90/defaultdb/pg_log/postgresql-2013-02-22.log -o 2013-02-22.html 6
  • 8. Démo 7
  • 10. Liens JJ Site internet : http://dalibo.github.com/pgbadger/ JJ Github : https://github.com/dalibo/pgbadger JJ Documentation pgBadger  : http://dalibo.github.com/pgbadger/documentation.html 9