Le 31 mars 2016, nous (David Douard et Julien Cristau) avons assisté à pgDay Paris, journée de conférences et d'échanges organisée par la communauté française et européenne de PostgreSQL.

https://www.logilab.org/file/5463130/raw

Sauvegardes

Le matin, Magnus Hagander a donné des conseils sur les outils à utiliser pour faire des sauvegardes de bases postgreSQL. En résumé : ne pas écrire ses propres scripts de backup, ne pas utiliser pg_dump sauf si on tient à passer des heures de downtime à attendre le restore (on se souviendra qu'un backup a un comportement heisenbergien : tant qu'il n'a pas été restauré, son état est indéfini).

I don't care how long a backup takes, I care about how long a restore takes!

Magnus a insisté sur le temps que nécessite un restore comme une variable importante à prendre en compte (et qui disqualifie de facto l'utilisation de pg_dump).

Il est préférable d'utiliser barman ou pg_basebackup et pg_receivexlog pour faire des backups physiques du cluster et conserver le WAL (donc avec une granularité au niveau de la transaction).

À l'issue de sa présentation, Magnus a lancé un joli "Now, go home and rewrite your backup scripts!".

Supervision

Ensuite, Damien Clochard a présenté un rapide tour d’horizon des solutions de supervision pour PostgreSQL. L’occasion de présenter l’état de l’art de l’écosystème Postgres en matière d’outil de visualisation, depuis les classiques/génériques à la nagios jusqu'à des outils plus spécialisés (et précis) permettant de voir les problèmes de performance au niveau d'une application. On en retiendra trois.

PGObserver est un outil d'analyse et de supervision de cluster Postgresql qui offre une interface web écrite en Python et un agent de récolement des données en Java.

PGcluu permet d'auditer et d'analyser les performances d'un cluster Postgresql.

pgBadger est un outil d'analyse des logs PostgreSQL qui est écrit en Perle, fonctionne en ligne de commande et produit des rapports HTML plutôt élégants.

Et aussi

Cette journée a été aussi l'occasion de rencontrer et d'échanger avec d'autres utilisateurs de PostgreSQL, ce qui est toujours très enrichissant. Par exemple, au détour d'une conversation avec Dimitri Fontaine, j'ai découvert la "licence morale". C'est sous cette licence qu'il publie son (formidable) outil d'import de données dans Postgresql, pgloader. Avec cette licence (dont il a volé l'idée à Varnish), c'est très simple :

Happy pgloader users tell me that they want a pgloader Moral License. I send them an invoice from my company. They pay the invoice, I develop pgloader.

Cerise sur la gâteau, Magnus nous a fait la surprise de sortir toute une série de versions de PostgreSQL on stage.

blog entry of