About

Dimitri Fontaine

PostgreSQL Major Contributor. Two of the contributions — CREATE EXTENSION and Event Triggers — now ship in every PostgreSQL installation in the world.

  • CREATE EXTENSION

    The packaging system that lets you distribute and install add-ons. Before extensions, a third-party module meant patching the source tree; since then they are first-class citizens of the ecosystem.

  • CREATE EVENT TRIGGER

    DDL-level triggers that fire on schema changes, giving programmatic control over CREATE TABLE, DROP INDEX, and the rest of the DDL vocabulary.

PostgreSQL developer, author and open source builder, based near Paris. Most of what I have done professionally for the past twenty-plus years has orbited around PostgreSQL: writing code for the database itself, building tools on top of it, teaching it, and occasionally starting or running companies around it.

Background

I have started several companies with open source at the core, spent time as CTO and CEO, then moved back into a principal engineering role. I spent a number of years at 2ndQuadrant doing PostgreSQL consulting and development, then joined Citus Data to work on distributed PostgreSQL and build pg_auto_failover. Citus was acquired by Microsoft in 2019.

Why “YeSQL”

It was a pun on NoSQL, back when everyone was explaining that relational databases had had their day. The joke has aged; the position has not. In those years teams moved work into their application code that their database was already doing better — joins, aggregates, constraints, transactions.

It is the same idea as the book: most teams leave enormous query power on the floor, not because PostgreSQL is hard, but because nobody showed them what it can actually do.

The PostgreSQL directional sign at PGCon 2006 in Toronto, covered in the attending hackers' signatures
PGCon 2006, Toronto — the venue sign, signed by everyone in the room. Mine is in there somewhere.

Elsewhere

One person, several domains: the writing, the tools, and the code that backs all of it.

Writing

Tools

  • pgloader.io

    The tool's own site: install, usage, and format documentation.

  • mysqltopgsql.com

    Migration methodology and PostgreSQL answers for MySQL developers.

Programs

GitHub

  • github.com/dimitri

    Every commit, in public.

  • pgloader

    Migrations to PostgreSQL from MySQL, SQLite, and MS SQL Server. Docs

  • pgcopydb

    Parallel PostgreSQL-to-PostgreSQL copy and migration. Docs

  • pg_auto_failover

    Automated PostgreSQL high availability. Docs

  • pgextwlist

    A sudo model for PostgreSQL extension whitelisting.

  • pgcharts

    Turn PostgreSQL queries into charts, no dashboard required.

  • regresql

    Regression testing for hand-written SQL queries.

  • sqlfmt

    A gofmt-style formatter for PostgreSQL SQL.

  • pginstall

    The extension installer PostgreSQL never shipped with.

  • prefix

    A range type for prefix matching — phone numbers, IPs, IBANs.

  • base36

    A base36 data type, stored internally as a bigint.

  • el-get

    A package manager for Emacs, before Emacs had one.

Working with me →