Utiliser pg_dump avec Docker

Je suis en train de migrer Tiny Tiny RSS depuis AWS vers un serveur dédié. Pour ce faire j'essaie d'effectuer un dump de la base de donnée (stockée dans RDS) depuis une machine Debian Buster. Malheureusement pg_dump échoue car la version fournie par Debian est trop ancienne !

% pg_dump -h db2.ezvan.fr -U ttrss -W ttrss > ttrss-20220102.sql
Password: 
pg_dump: server version: 12.7; pg_dump version: 11.14 (Debian 11.14-0+deb10u1)
pg_dump: aborting because of server version mismatch
zsh: exit 1     pg_dump -h db2.ezvan.fr -U ttrss -W ttrss > ttrss-20220102.sql

Docker à la rescousse

Je pourrais mettre à jour ma version de Debian pour obtenir un version plus récente de pg_dump, mais une telle migration serait chronophage. Une solution plus simple est d'utiliser Docker pour exécuter la version de pg_dump qui convient.

Installation de Docker

Attention sous Debian le nom du paquet Docker est docker.io !

sudo apt install docker.io

J'ajoute mon utilisateur au groupe docker. Je me reconnecte ensuite afin d'utiliser les nouvelles permissions.

sudo usermod -aG docker user

Je démarre le démon Docker.

sudo systemctl start docker

Lancer pg_dump

Je lance pg_dump dans un conteneur Docker. J'utilise l'image postgres en spécifiant la version …

plus ...

Mise à jour de PostGIS problématique et Fedora

Pour quelques uns de mes projets de développement, j'utilise PostGIS, une extension de la base de données PostgreSQL qui permet de gérer des données géographiques. PostgreSQL et PostGIS sont régulièrement mises à jour, ce qui m'occasionne parfois de sacrés maux de tête. Danc cet article j’explique comment j’ai réussi à me sortir d’une mise à jour difficile à l’aide des outils fournis par Fedora et des conteneurs.

Ciel, une mise à jour

Un changement de version majeure de PostgreSQL n'est pas une opération triviale, car elle nécessite toujours de convertir les bases de données du système, la compatibilité du schéma étant cassée entre chacune de versions majeures.

L'utilitaire pg_upgrade est utilisé pour cela, mais il est un peu compliqué à utiliser. Heureusement certaines distributions proposent des outils pour simplifier cette mise à jour. Par exemple sous Debian, la mise à jour du paquet d'une version majeure vers une autre entraîne une conversion automatique de la base de données. Sous Fedora, ça n'est pas automatique, mais un utilitaire est fourni pour aider à la mise à jour.

Cela se complexifie avec PostGIS, comme on va le voir tout de suite. J'ai donc récemment mis à jour ma …

plus ...