Retour sur la PG Conf Europe 2023
Cette année, la PostgreSQL Conference Europe 2023 s’est déroulée à Prague en République Tchèque. 2023 sera l’année d’un nouveau record de participation : 720 participants ! C’est un record pour l’ensemble des conférences PostgreSQL mondiales.
La logistique autour de l’évènement a été la hauteur de ce record au sein de l’hôtel Clarion Congress, bâti pour accueillir ce genre de conférences.
Le soir, nous en avons profité pour visiter le centre ville de Prague (Praha pour les intimes) et son patrimoine culturel et gastronomique. Il faut dire qu’il y a plein de choses à voir, et nous ne sommes pas les seuls, tant les touristes sont nombreux à visiter la ville et son marché de Noël, ainsi que sa fameuse horloge astronomique.
L’évènement s’étale sur quatre jours, mais nous n’assisterons qu’aux trois jours de conférences. La première journée est réservée aux sessions de formations organisées par les sponsors. Avec trois salles, et une quatrième destinée aux sponsors, les sujets ne manquent pas. Les talks sont nombreux, et il faut faire un choix parmi eux. Heureusement, nous étions quatres collègues cette année à participer, et nous avons pu nous répartir sur les différents sujets en fonction des affinités de chacun.
La liste des présentations est disponible sur le site de la conférence : https://2023.pgconf.eu/, et vous retrouverez pour certaines présentations le support mis à disposition et la vidéo de la conférence. C’est une première cette année, les conférences étaient enregistrées (sous réserve d’acceptation par le conférencier).
La présentation d’ouverture a été donnée par Simon Riggs, avec un sujet intéressant, à savoir : quelles seraient les 20 prochaines années de PostgreSQL. Simon nous livre sa vision du futur de PostgreSQL, avec de plus en plus d’adhésions, de nouvelles fonctionnalités, un niveau de qualité toujours plus élevé.
Puis, nous nous sommes répartis sur les différentes salles de conférences pour cette première journée.
Jonathan S. Katz nous a fait la présentation, qu’il a nommé comme un précédent article de blog qu’il avait écrit avec le nom évocateur Vectors are the new JSON
, de l’extension pgvector
et comment PostgreSQL peut servir de base de données vecteurs pour des applications d’IA générative, en faisant le tour des index implantés, les opérateurs de distance et les algorithmes de recherche, ainsi que l’impact de TOAST sur les vecteurs.
Peter Eisentraut, quant à lui, nous a proposé un sujet sur le standard SQL, et comment il serait bénéfique à tous d’y participer et de soutenir plus les travaux futurs. Il nous a résumé les derniers changements apportés sur la norme SQL 2023 publié en juin 2023.
The SQL standard: Where does it come from ? Where does it go ?
Heikki Linnakangas nous proposait de faire le point sur un sujet qui déchaîne la mailing-list des hackers, celle d’une architecture PostgreSQL multi-thread et de l’avancée de la réflexion sur le sujet, les freins et les enjeux d’un tel changement s’il avait lieu.
Taras Kloba, qui nous vient d’Ukraine et travaillant chez SoftServe, nous a présenté différents cas d’usage de PostgreSQL et PostGIS sur le théatre d’opérations ukrainien et comment ses données étaient utilisées par l’armée ukrainienne.
From Map to Reality: Using PostGIS in Warfare
Karen Jex nous a proposé de faire le tour des paramètres de PostgreSQL, ceux qu’il est nécessaire de modifier en production, où et dans quel contexte.
Tuning PostgreSQL to work even better
Daniel Westermann nous a fait un point sur les mesures d’IO offertes par les vues de pg_stat_io
disponibles depuis la version 16 de PostgreSQL et l’importance d’activer le paramètre track_io_timing
pour générer ces statistiques.
Getting the most out of pg_stat_io
Jonathan S. Katz nous proposait une deuxième présentation sur la réplication logique, les dernières fonctionnalités présentes en version 16 et 17, les futures fonctionnalités prévues et une éventuelle roadmap autour d’une réplication active-active, avec ses avantages et ses inconvénients.
The journey towards active-active replication in PostgreSQL
Robert Haas s’est penché sur la démystification de l’autovacuum, comment ce dernier fonctionne et comment il peut échouer, et dans ce cas Robert nous livre ces conseils sur l’identification de ces cas et leurs résolutions.
Understanding and Fixing Autovacuum
Devrim Gündüz nous a offert un glossaire exhaustif de nombreux termes et acronymes utilisés par PostgreSQL. Nouveaux termes pour les débutants, piqûre de rappel utile pour les experts.
Know the less known: A PostgreSQL Glossary
Laurenz Albe nous a livré une présentation de la corruption de bases de données, ses causes et ses effets, comment les détecter, comment les prévenir et l’importance d’avoir de bonnes sauvegardes.
How to corrupt your database (and how to deal with data corruption)
Marco Slot nous proposait de faire le tour des architectures distribuées pour PostgreSQL, les différentes couches sur lesquelles intervenir et les nombreux compromis que l’on doit faire selon l’architecture choisie.
PostgreSQL Distributed: Architectures & Best practices
Matt Cornillon nous a partagé sa passion pour Pokémon, et nous a montré par l’exemple comment mettre en place un système de reconnaissance de cartes Pokémon basé sur PostgreSQL et l’extension pgvector
, et l’utilisation de différentes techniques d’IA et de machine learning pour y aboutir.
How I found my Pokémon cards thanks to Postgres: an AI journey
Au cours de la deuxième journée, Julia Gugel nous a rappelé quelles étaient toutes les méthodes d’authentification avec PostgreSQL du fichier pg_hab.conf
aux règles RLS niveau ligne, sans oublier la sécurité physique des serveurs.
PostgreSQL Security: The defense line for your data
Muhammad Usama s’est quand à lui attelé à nous présenter dans ses moindres détails l’outil pgpool
qui ne se résume pas simplement à la gestion de connexions mais bien plus, dans quel cas d’usage utiliser pgpool
et un travail pour passer à architecture multi-thread.
Pgpool - What, Why, and Where?
Ants Aasma s’est penché pendant sa présentation sur les problèmes liés à la construction de filtres basés sur les facettes et la nécessité de compter les éléments, et comment les roaring bitmap pouvaient répondre à cette problématique, en étant beaucoup plus performant, à travers l’extension pg_roaringbitmap
, ou pg_faceting
tout en traitant les points durs induits par l’utilisation de bitmap.
Counting things at the speed of light with roaring bitmaps
Après la pause café – café qui aurait mérité d’être plus corsé – Chris Ellis nous a montré comment PostgreSQL pouvait être utilisé pour gérer les données issus de capteur de l’IoT, et quelles étaient les fonctionnalités de PostgreSQL les plus utiles pour arriver à ses fins.
Chelsea Dole nous a proposé de revoir le partionnement sous PostgreSQL, comment le mettre en place en production sur des tables existantes et différentes astuces pour l’administration de ces dernières.
It’s Not You, It’s Me: Breaking Up with Massive Tables via Partitioning
Greg Vernon s’est attelé à nous parler de haute disponibilité, ou plutôt comment faire de la bonne disponibilité, quels sont les compromis à réaliser et ce qu’il faut plutôt privilégier pour assurer l’administration de PostgreSQL selon les objectifs de disponibilité attendus.
Don’t Do High Availability, Do Right Availability
Tomas Vondra s’est livré au délicat exercice de montrer l’interaction entre PostgreSQL et les systèmes de fichiers du système d’exploitation, quels étaient ceux qui performaient le mieux avec PostgreSQL et les futurs travaux concernant la gestion des IO sur PostgreSQL.
Postgres vs. Linux filesystems
Andres Freund de son côté nous présentait les travaux en cours pour que PostgreSQL puisse utiliser les IO asynchrones, quels seraient les gains et quelles fonctionnalités en profiteraient dans les prochaines versions de PostgreSQL.
The path to using AIO in postgres
Pour la dernière journée, Bertrand Drouvot est revenu sur les travaux effectués autour de la réplication logique depuis un standby, fonctionnalité disponible dorénavant depuis la version 16.
Postgres 16 highlight: Logical decoding on standby
Stefan Fercot, désormais chez Data Egret, nous a livré une présentation très tehcnique sur pgBackRest
, sur le système d’archivage, la supervision de l’archivage et des sauvegardes, et la nécessité de tester la restauration depuis ces sauvegardes.
What can’t pgBackRest do for you?
Hamid Akhtar, quant à lui, s’est livré à la présentation très détaillée de la mécanique interne des WAL, une bonne entrée en matière pour les débutants afin de découvrir beaucoup de fonctionnalités de PostgreSQL.
PostgreSQL Write-Ahead Logging (WAL): The Internals of Reliability and Recovery
Pavlo Golub, de chez Cybertec, nous a présenté l’écosystème existant de supervision de PostgreSQL, puis a détaillé l’outil pgwatch2
, pour finalement présenter la future version pgwatch3
qui est une réécriture du précédent outil.
Professional PostgreSQL monitoring made easy
Alicja Kucharczyk nous a proposé en fin de conférence une présentation de pgbadger
et un ensemble de bonnes pratiques autour de l’utilisation de ce dernier.
Leveraging pgBadger for Effective PostgreSQL Troubleshooting
Ce fut cette année encore une conférence riche en présentations de tout niveau, certaines non techniques. Bref, il y en avait pour tout public.
Récemment, nous avons appris que la prochaine édition devrait se tenir à Athènes, en Grèce.