À propos

Dimitri Fontaine

Contributeur majeur de PostgreSQL. Deux de ces contributions — CREATE EXTENSION et les Event Triggers — sont aujourd'hui présentes dans toutes les installations de PostgreSQL du monde.

  • CREATE EXTENSION

    Le système de paquets qui permet de distribuer et d'installer des modules complémentaires. Avant les extensions, un module tiers imposait de patcher les sources ; depuis, ce sont des citoyens de première classe de l'écosystème.

  • CREATE EVENT TRIGGER

    Des déclencheurs au niveau DDL, qui se déclenchent sur les changements de schéma et donnent le contrôle programmatique sur CREATE TABLE, DROP INDEX et le reste du vocabulaire DDL.

Développeur PostgreSQL, auteur et constructeur open source, basé près de Paris. L’essentiel de ce que j’ai fait professionnellement depuis plus de vingt ans tourne autour de PostgreSQL : écrire du code pour la base elle-même, construire des outils par-dessus, l’enseigner, et parfois monter ou diriger des entreprises autour.

Parcours

J’ai fondé plusieurs entreprises avec l’open source au cœur, occupé des postes de CTO et de CEO, puis je suis revenu à un rôle d’ingénieur principal. J’ai passé plusieurs années chez 2ndQuadrant à faire du conseil et du développement PostgreSQL, puis rejoint Citus Data pour travailler sur PostgreSQL distribué et construire pg_auto_failover. Citus a été racheté par Microsoft en 2019.

Pourquoi « YeSQL »

C’était un jeu de mots sur NoSQL, à l’époque où tout le monde expliquait que le relationnel avait fait son temps. La blague a vieilli, la position non : ces années-là, les équipes ont déplacé dans leur code applicatif un travail que leur base de données faisait déjà mieux — jointures, agrégations, contraintes, transactions.

C’est la même idée que le livre : la plupart des équipes laissent au sol une puissance de requête considérable, non pas parce que PostgreSQL est difficile, mais parce que personne ne leur a montré ce qu’il sait réellement faire.

Le panneau directionnel PostgreSQL du PGCon 2006 à Toronto, couvert des signatures des personnes présentes
PGCon 2006, Toronto — le panneau de la salle, signé par tout le monde. Le mien y est aussi, quelque part.

Ailleurs

Une personne, plusieurs domaines : l'écriture, les outils, et le code qui les porte.

Écriture

Outils

  • pgloader.io

    Le site de l'outil : installation, usage et documentation du format.

  • mysqltopgsql.com

    Méthodologie de migration et réponses PostgreSQL pour les développeurs MySQL.

Programmes

GitHub

  • github.com/dimitri

    Chaque commit, en public.

  • pgloader

    Migrations vers PostgreSQL depuis MySQL, SQLite et MS SQL Server. Doc

  • pgcopydb

    Copie et migration PostgreSQL vers PostgreSQL en parallèle. Doc

  • pg_auto_failover

    Haute disponibilité PostgreSQL automatisée. Doc

  • pgextwlist

    Un modèle « sudo » pour la liste blanche d'extensions PostgreSQL.

  • pgcharts

    Transformer des requêtes PostgreSQL en graphiques, sans tableau de bord.

  • regresql

    Tests de non-régression pour vos requêtes SQL écrites à la main.

  • sqlfmt

    Un formateur de SQL PostgreSQL, à la gofmt.

  • pginstall

    L'installateur d'extensions que PostgreSQL n'a jamais eu.

  • prefix

    Un type intervalle pour le préfixage — numéros de téléphone, IP, IBAN.

  • base36

    Un type de donnée base36, stocké en interne comme un bigint.

  • el-get

    Un gestionnaire de paquets pour Emacs, avant qu'Emacs en ait un.

Travailler avec moi →