Transpiler SQL

Depuis 2023, je travaille sur la conversion de code SQL d’Oracle, MySQL et SQL Server vers PostgreSQL. Le problème est sérieux. Voici quelques exemples concrets : ...

17 septembre 2026 · 6 min · Étienne BERSAC

Pub-Sub avec Postgres

Dès qu’une application web a besoin de déléguer une tâche lourde ou critique en arrière-plan, on se retrouve avec Redis pour stocker le résultat des tâches et parfois RabbitMQ pour gérer la messagerie. La mode est maintenant d’utiliser Redis aussi pour la messagerie, grâce à une procédure stockée en lua, ça économise le gros bousin qu’est RabbitMQ. Postgres peut déjà remplacer Redis grâce à JSONb. Mais pour notifier, va-t-on bourriner Postgres avec des SELECT ? Heureusement non, grâce à LISTEN/NOTIFY ! ...

20 février 2019 · 3 min · Étienne BERSAC

Performances du FTS Postgres

Dans cet article, je vous propose une première astuce pour avoir de meilleures performances FTS avec Postgres. Contrairement à ElasticSearch, Postgres n’optimise pas automatiquement votre schéma. La philosophie est que l’optimisation dépend de l’utilisation de la base : fréquence d’écriture, prédicats dans les requêtes, jointures, etc. À vous d’anticiper l’utilisation de votre base pour concevoir le schéma le plus performant. Comme vu dans mon introduction à FTS dans Postgres, il faut lemmatiser un texte dans un tsvector pour la recherche plein texte. Lemmatiser est coûteux en cycles CPU, on doit pouvoir optimiser ça. ...

15 février 2018 · 3 min · Étienne BERSAC

Recherche plein texte avec Postgres

Découvrir le FTS avec Postgres Le champ de recherche unique, voilà le graal du formulaire de recherche d’une application. Pour l’utilisateur, c’est avoir la recherche accessible à toutes les pages, s’épargner le temps de comprendre dans quel champs rentrer un terme recherché, c’est passer de la recherche d’un simple mot à la requête complexe sans changer d’interface. Pour le développeur, c’est la simplification de l’évolution de l’interface à mesure que les données de l’application s’enrichissent et tout un tas de fonctionnalités avancées : surlignage des résultats, calcul de pertinence, performances, etc. ...

22 novembre 2017 · 4 min · Étienne BERSAC