Parmi les quelques outils de mon quotidien, il y en a un très sobre et bigrement
efficace répondant au nom de pgenv, un gestionnaire des versions PostgreSQL.
Ce projet est publié sous licence MIT par David E. Wheeler, auteur de l’extension
pgTAP dont j’avais déjà vanté les mérites dans un autre article.
Cet outil concerne principalement les contributeur⋅rices au projet PostgreSQL et les
quelques DBA féru⋅es d’expérimentations, car pgenv permet de compiler et
d’exécuter toutes les versions majeures et mineures du système de base de données
open-source le plus avancé du monde.
Dans l’univers des générateurs de sites statiques, la bataille fait rage entre
plusieurs frameworks depuis quelques années. Vous avez peut-être entendu parler
de Jekyll, Next.js, Gastby ou Hugo ? Je ne cite que les plus
sollicités par la communauté sur GitHub, mais il en existe des centaines.
Pourquoi cet engouement ? Cet article n’en parlera pas.
Cette semaine, passait sur mon fil d’actualité Twitter une simple URL
pointant sur le site https://pgpedia.info. Non loin d’être le seul à l’avoir
remarqué, nous en parlions entre collègues pour constater avec surprise que nous
ne connaissions pas cette mine d’or d’informations sur PostgreSQL. Après y avoir
perdu plusieurs heures, je me suis dit qu’un article sur les quelques utilitaires
que j’estime méconnus, pourrait être une bonne conclusion de la semaine.
Je me souviens de cette époque où j’ai été confronté pour la première fois à la
notion de TOAST avec PostgreSQL. Je trouvais la dénomination amusante, bien
qu’étrange, pour nommer le mécanisme de stockage étendu « The Oversized-Attribute
Storage Technique ». Bien que l’acronyme ne fasse pas de référence culinaire,
on peut retrouver dans la documentation officielle qu’il s’agissait d’une
petite révolution et de la meilleure chose depuis le pain en tranches.
Les programmes de regroupement de connexions (pooling) vous permettent de
réduire la surcharge liée à la base de données lorsque le nombre de connexions
physiques réduit les performances. Ceci est particulièrement pertinent sous
Windows, où les limitations du système empêchent un grand nombre de connexions.
C’est également vital pour les applications Web où le nombre de connexions peut
devenir très important.
Je n’ai pas trouvé meilleure approche que la traduction du wiki communautaire du
projet PostgreSQL pour aborder l’outil PgBouncer, faisant partie avec Pgpool-II,
des deux seuls poolers de connexions largement répandus. Le produit est
déconcertant de facilité, sa documentation et la littérature qui gravitent sur
Internet sont claires et unanimes : PgBouncer améliorera grandement les
performances de votre instance PostgreSQL !