Les 22 et 23 mars derniers s’est tenue la 7e édition du pgDay Paris 2023. LOXODATA était, cette année encore, sponsor “partner” de l’évènement. Cette édition s’est déroulée au sein de l’espace Saint Martin, dans le 3e arrondissement de Paris, qui dispose d’un bel auditorium.
L’une des nouveautés de cette édition était l’introduction d’une journée de formations payantes précédant la journée de conférence, sur le même modèle que la PGConf.EU. Lors de l’inscription, il suffisait de choisir la formation d’une journée ou l’une des deux formations proposée pour chaque demi-journée.
LOXODATA a dispensé une formation le matin, et une autre l’après-midi.
Autre nouveauté de cette année, une seconde salle permettait de compléter le
programme des conférences.
Cette année, c’était aussi le retour des conférences filmées, mais uniquement
pour celles se déroulant dans l’auditorium.
Le programme complet est sur le site du pgDay Paris 2023.
Les formations
Les sujets des formations étaient aussi variés que :
- Bien démarrer avec votre instance PostgreSQL, par Patrick Francelle et Stéphane Schildknecht, LOXODATA
- Disaster recovery avec pgBackRest, assurée par Philippe Viegas et Stéphane Schildknecht, LOXODATA
- Tout ce que vous avez toujours voulu savoir sur les pools de connexions (sans jamais oser le demander) ; Frédéric Delacourt, Data Bene
- CREATE EXTENSION, la votre de préférence ; Cédric Villemain, Data Bene
- Troubleshooting Postgres ; Jean-Sébastien Defontenay et Sébastien Sire, EDB
Les conférences
Le programme de la journée de conférences comportait douze sessions en anglais, réparties entre l’auditorium et une autre salle plus petite. Parmi ces conférences, on pouvait retrouver plusieurs présentations non techniques.
Cette journée était particulière, marquée par des mouvements sociaux et des
perturbations des transports, et plusieurs personnes ont été contraintes
d’annuler leur participation. Malgré tout, une centaine de personnes ont pu
participer, mais quelques ajustements de programme ont également été nécessaires.
La couverture médiatique de l’évènement aurait aussi mérité d’être un peu plus fournie.
Après l’introduction faite par Karen Jex, la keynote d’ouverture s’est déroulée
dans l’auditorium. Magali Milbergue s’est retrouvée promue à la tâche délicate
de lancer la journée, suite à l’annulation contrainte de l’intervenante prévue.
Elle nous a présenté un sujet peu abordé dans ce genre de conférence :
l’importance des relations humaines dans nos métiers.
En particulier, elle nous a rappelé que si nous pensons parfois être neutres,
nous sommes soumis à des biais liés à notre origine, ou simplement à l’état
actuel de la société. Quelques biais énumérés : le sexisme, le racisme, le validisme.
Elle nous a ensuite indiqué que nous aimons en général les sciences « dures »,
mais que les sciences sociales sont nécessaires dans nos métiers, avant de nous
inviter à nous autoéduquer sur tous ces sujets.
À partir de ce point, il fallait choisir parmi les deux tracks de conférences pour dix des douze sessions de la journée.
La première session dans la petite salle était présentée par Francesco Tisiot
avec Fix your strings!
. Cela concernait l’utilisation appropriée des types
caractère avec PostgreSQL. En partant de la mauvaise écriture de son nom, il
nous a entraîné dans la modélisation d’une base avec différents cas d’usage,
l’utilisation des types appropriés pour bénéficier de la validation des données
et effectuer la normalisation de nos modèles de données afin de pouvoir en faire
une exploitation.
David Christensen, nous a ensuite proposé How to Tame a Mastodon: Lessons for PostgreSQL at Scale
ou comment gérer de grosses instances PostgreSQL (gros volume de données,
beaucoup de transactions et de nombreux réplicas). Il nous a partagé ses conseils
sur la gestion des verrous lors de l’ajout de colonnes, contraintes, index, le
partitionnement de grosses tables et l’espace occupé dans une table par les
données selon leur type et la place potentiellement perdue.
Après la pause déjeuner, on retrouve Boriss Mejias qui va assurer le spectacle
comme à son habitude sur un sujet bien connu :
Understanding MVCC, Vacuum, and how to monitor it with the pg_catalog
.
Il nous rappelle ainsi le principe de MVCC avec PostgreSQL et les transactions,
les tâches de maintenance associées VACUUM
et autovacuum
et les vues du
catalogue système pour superviser tous ces aspects.
La suite logique fut d’aller assister à la présentation de Chelsea Dole
Managing Your Tuple Graveyard
. Chelsea nous présente aussi le principe de
MVCC mais sur la gestion des tuples, et comment gérer le bloat associé, comment
le quantifier, l’interpréter selon le volume d’une table donnée : selon la
taille d’une table, le taux de bloat admis ne sera pas le même, et comment
finalement pallier le bloat par des tâches de maintenance, mais également par
la mise en place de patterns appropriés d’accès aux données.
Stefan Fercot s’est ensuite affairé à nous présenter les principes de la
restauration avec PostgreSQL et les différentes cibles possibles, les outils
tels que pg_waldump
pour parcourir les WAL à la recherche de la cible voulue.
Un petit clin d’oeil a été fait à Sébastien Lardière et ses dernières contributions
sur l’identifiant de timeline.
En parallèle de ces trois sessions de l’après-midi, d’autres sessions avaient lieu également.
Après le déjeuner, Daniel Westermann nous a parlé de sa découverte de la communauté PostgreSQL en 2013 lorsqu’il a eu besoin de résoudre un problème de performance. Une fois passée la surprise des outils de communication, notamment les listes de diffusion et leurs règles d’utilisation, il nous a donné quelques conseils avant de consulter la communauté, ainsi que quelques points d’entrée pour contribuer, ce qu’il nous a encouragé à faire.
La conférence suivante est aussi une suite logique. Melih Mutlu nous a parlé de ses 6 premiers mois de contribution à la communauté PostgreSQL. En voulant participer au code, il a cherché s’il y avait des bugs à corriger. Il a lui aussi été surpris des outils et méthodes utilisés par la communauté. Au final, l’accueil des nouveaux arrivants n’est pas toujours facile même si les personnes sont accueillantes et bienveillantes.
Sur l’avant-dernière conférence de la journée, Elizabeth Garrett Christensen nous a fait une introduction à PostGIS. Après une introduction sur différents systèmes existants, elle se concentre sur PostGIS, un certain nombre de fonctionnalités et d’outils, ainsi que quelques exemples de choses possibles.
Pour la conférence de fin, nous avons eu le plaisir de voir Sarah Haïm-Lubczanski nous parler de son métier en tant qu’architecte de documentation technique. Bien que la documentation de PostgreSQL soit très bien perçue, elle comporte un certain nombre de points qui pourraient être grandement améliorés en utilisant les dernières bonnes pratiques sur l’écriture d’une documentation accessible pour tous.
Puis, Karen Jex conclut la journée avec le mot de la fin.
Au final, cette journée de conférence fut un peu différente des autres années, à la fois par une participation malheureusement moins importante, mais aussi par des conférences qui laissaient la place à des sujets moins techniques et à des intervenants moins connus.
Le programme
La liste complète des conférences :
- Talkception : why non-technical talks in tech events are so important
- PostgreSQL and Software Engineers
- Fix Your Strings!
- Upgrade Postgres!
- How to Tame a Mastodon: Lessons for PostgreSQL at Scale
- Working effectively with (-support-) the community
- Understanding MVCC, Vacuum, and how to monitor it with the pg_catalog
- Managing your tuple graveyard
- Takeaways from the First 6 Months of Hacking on Postgres
- PostGIS for Newbies
- Explore the PostgreSQL recovery process and its targets
- Documentation : Let’s make it better, now, together!