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 …