Interview de Guillaume Lelarge, expert PostgreSQL, consultant chez Dalibo, auteur du livre PostgreSQL - Architecture et notions avancées.
(22/11/2023)

Bonjour Guillaume, la 5e édition de ton livre PostgreSQL - Architecture et notions avancées vient de paraître. Pour ceux qui le découvre, ton livre aborde le SGDBR d'une façon tout à fait originale, puisqu'il n'explique pas comment l'utiliser mais bien comment il fonctionne. Peux-tu nous expliquer pourquoi tu as eu envie d'écrire un tel livre ?

Pour moi, on ne peut utiliser et maintenir correctement un outil que si on comprend comment il fonctionne. L'un des gros intérêts des logiciels libres est justement de permettre d'étudier leur fonctionnement. Cela aide à mieux s'approprier un logiciel. Même si j'avais déjà une connaissance étendue de PostgreSQL de par mon métier, écrire ce livre m'a poussé à entrer plus dans le détail de son fonctionnement. J'espère que les lecteurs et les lectrices profiteront pleinement de ce que j'ai découvert.

Tu coordonnes parallèlement la traduction de la documentation officielle. En quoi les deux se complètent ?

Traduire m'a fait découvrir des fonctionnalités que je ne connaissais pas ou mal. En fait, dès qu'on cherche à apprendre quelque chose à quelqu'un, cela force à creuser, à expérimenter, à améliorer ses propres connaissances. Tout simplement parce qu'on ne veut pas faire d'erreurs, on ne veut pas raconter de bêtises. C'est vrai aussi bien pour écrire ou traduire un livre que pour former des gens. J'ai commencé par la traduction, et j'avais découvert à cette époque que ça m'avait forcé à m'améliorer. Je l'ai re-découvert quand j'ai commencé à donner des formations pour Dalibo il y a 17 ans. Et quand j'ai commencé à rédiger ce livre, il y a huit ans maintenant, j'ai de nouveau appris des choses.

Même si le livre et la documentation parlent du même logiciel, ils ne sont pas identiques. Le livre cherche à expliquer son fonctionnement alors que la documentation cherche plutôt à apprendre à l'utiliser.

À qui s'adresse ton livre ? Faut-il déjà bien connaître PostgreSQL pour en profiter ?

Mon livre s'adresse aux personnes curieuses, qui souhaitent vraiment posséder ce logiciel. On peut très bien simplement l'utiliser mais il arrivera toujours un moment où il nous surprendra et où on ne saura pas comment gérer une situation particulière. En comprenant le fonctionnement, et pas uniquement l'utilisation, cela permet de s'adapter à des problèmes rencontrés pour la première fois.

Le profil des lecteurs est très varié. Il n'est pas nécessaire de bien connaître PostgreSQL pour profiter du livre. L'avoir déjà installé et un peu utilisé est suffisant. Il est aussi profitable d'avoir un PostgreSQL installé pour tester de son côté.

As-tu des conseils à donner à tes lecteurs ? Y a-t-il des chapitres dont tu leur recommandes particulièrement la lecture ?

Je dirais qu'ils sont tous importants mais j'ai évidemment mes préférés. Les chapitres 2 à 5 sont pour moi les plus importants. J'ai une affection particulière pour le chapitre 10 sur la planification des requêtes, certainement par son côté un peu mystérieux et magique.

Derrière cette 5e édition, il y a en fait beaucoup plus que cinq révisions du contenu. En effet, depuis sa première parution en bêta en 2015, tu l'as mis huit fois à jour pour l'adapter aux montées de versions successives de PostgreSQL. Pourquoi est-ce important pour toi de veiller à ce que le livre soit toujours au plus près de la dernière version de PostgreSQL ?

Un livre traitant d'un logiciel informatique devient vite obsolète, surtout quand celui-ci croît fortement en fonctionnalités. Mettre à jour le livre me permet de continuer à étudier PostgreSQL dans le détail, et de toujours disposer (ainsi que beaucoup d'autres, j'espère) une référence sur son fonctionnement. Et j'aime bien l'idée de travailler dans la durée. C'est un peu comme maintenir un logiciel. On va corriger les fautes ici et là, apporter de nouvelles fonctionnalités. Chaque fois on l'améliore un peu plus pour le rendre encore meilleur

"Mettre à jour le livre
me permet de continuer à étudier PostgreSQL dans le détail"

Les différences de comportement d'une version à l'autre sont-elles signalées et expliquées dans le livre ?

Oui. L'idée de base est de parler de la dernière version sortie. Lorsque le comportement a changé, ceci est indiqué au minimum pour les versions maintenues. Cependant, même avec toute la bonne volonté du monde, il serait impossible (et pas très digeste lors d'une lecture) d'indiquer tous les changements de toutes les versions.

Quels sont les principales nouveautés de cette 5e édition ?

J'ai inclus les nouveautés des versions 15 et 16 de PostgreSQL, et fait une grosse revue sur la description des processus. J'ai aussi passé du temps à supprimer des informations obsolètes sur de vieilles versions, que, j'espère, plus personne n'utilise en production.

Lors de l'enquête 2023 de Stack Overflow, près de la moitié des développeurs interrogés qui ont répondu à la question concernant leur base de données préférée (45,55 % sur un total de 76 634 personnes) ont choisi PostgreSQL. Comment expliques-tu cette popularité toujours croissante ?

Je l'explique par le fait que PostgreSQL est un logiciel stable et que son développement suit une logique basée sur l'intérêt de sa communauté (développeurs et utilisateurs) et non sur l'intérêt financier d'une société. Je l'explique aussi par le fait qu'il s'agit d'un logiciel compréhensible. On peut comprendre son fonctionnement car il est basé sur des principes simples et logiques. Les développeurs ne cherchent pas à faire des choses compliquées pour faire sérieux : ils veulent du simple parce que c'est intelligible, maintenable facilement, économe.

Comment vois-tu l'avenir de PostgreSQL ?

Plutôt radieux. Chaque nouvelle version apporte son lot de nouveautés. Il est difficile de réinventer le monde dans ce domaine, mais il est toujours possible d'apporter de nouvelles fonctionnalités ou des améliorations à des fonctionnalités existantes, pour faciliter la vie des utilisateurs. C'est pour moi le principal.

Souhaites-tu ajouter quelque chose ?

Bonne lecture, et surtout n'hésitez pas à nous remonter tout problème rencontré, y compris les fautes d'orthographe :)

Merci Guillaume !