Florent Jardin   Conférences  Archives  À propos

Les types hiérarchiques

Bien que la norme SQL définisse un ensemble de règles pour que les systèmes de bases de données puissent être interchangeables, il existe de petites singularités dans la nature. À ce titre, le type de données hierarchyid fourni par SQL Server est un exemple flagrant. Si vous êtes amené à basculer vers PostgreSQL, deux solutions s’offrent à vous.

Une première et plus simple consiste à lier chaque nœud à son parent à l’aide d’une nouvelle colonne parentid et d’y appliquer une contrainte de clé étrangère. Une autre approche, plus complète, consiste à utiliser l’extension ltree. Cet article traite de ce dernier cas.

» Lire la suite

Faire vivre une communauté

Le PG Day France s’est tenu les 11 et 12 juin derniers à Lille, ma ville natale. Il s’agit de l’événement de la communauté française de PostgreSQL qui pose ses valises dans une ville différente chaque année. L’occasion était trop belle pour moi et j’y ai rencontré de nombreuses personnes venant de toute la France et de ses alentours, pour discuter de PostgreSQL au cours de deux jours d’ateliers et de conférences.

Pour cette édition, j’ai eu le plaisir de prendre la parole et de faire un retour d’expérience sur l’animation du groupe Meetup local dont j’ai repris les rennes il y a maintenant quatre ans. Dans cet article, je souhaite retranscrire les principaux points abordés lors de cette présentation, en attendant que la vidéo de la conférence soit mise en ligne.

» Lire la suite

Un assistant pour copier les données distantes

Lors de la dernière PGSession 16, j’ai rédigé et animé un atelier de trois heures au sujet de la migration vers PostgreSQL à l’aide des Foreign Data Wrappers, ou FDW. Ce fut notamment l’occasion de présenter au grand public, l’extension db_migrator pour laquelle j’ai dédié un article sur ce blog.

Au cours de cet atelier, nous pouvons constater que la copie des données avec l’extension db_migrator n’est pas parfaitement prise en charge. En effet, bien qu’il existe une fonction de bas niveau pour répartir sur plusieurs processus le transfert table à table, de nombreuses situations devront exiger de rédiger un grand nombre de requêtes SQL pour se tirer d’affaire. Au cours des mois qui suivirent, je me suis attelé à la conception d’un assistant écrit en PL/pgSQL dont le but est de simplifier la génération de ces requêtes.

» Lire la suite

Les modes de transfert dans une migration

En informatique, un projet de migration consiste à changer un ou plusieurs composants techniques sans qu’aucun comportement des applications n’en soit impacté. Dans le paysage des bases de données (et le métier que j’exerce), il s’agira de choisir un nouveau système (comme PostgreSQL) en remplacement d’un autre (comme Oracle ou Microsoft SQL Server).

Dans un précédent article, je décrivais les étapes exhaustives pour réaliser une migration complète à l’aide de la technologie des Foreign Data Wrappers, mais l’étape critique de transfert des données qui y était décrite ne s’adapte pas à toutes les situations. Voyons ensemble les alternatives qui permettent de couvrir une grande partie des besoins.

» Lire la suite

En route vers la liberté avec db_migrator

J’ai passé plusieurs semaines ces derniers mois à contribuer à l’extension db_migrator. Rédigée uniquement en PL/pgSQL, elle permet de migrer les schémas et les données d’un système de bases de données vers PostgreSQL à l’aide des données externes que j’avais déjà présentées il y a quelques années.

Dans cet article, je présente le fonctionnement de l’outil, sa philosophie et la raison d’être que je lui ai trouvée, alors même qu’il rejoint l’écosystème des projets libres déjà bien installés dans le paysage de la migration. Que vaut-il aux côtés d’Ora2Pg ou de pgloader ?

» Lire la suite