Migrer un cluster postgresql

Sur le nouveau serveur, installer postgresql en téléchargeant la clé du serveur ad hoc dans /etc/apt/keyrings:

# wget https://www.postgresql.org/media/keys/ACCC4CF8.asc

On ajoute ensuite un fichier pdpg.list dans /etc/apt/sources.list.d avec ceci:

deb [signed-by=/etc/apt/keyrings/AC-------.asc] https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main

On installe ensuite la version postgresql de l'ancien serveur :

# apt update # apt install postgresql-15

On change le fichier /etc/postgresql/15/main/postgresql.conf:

listen_addresses = '*'

Et le fichier /etc/postgresql/15/main/pg_hba.conf en ajoutant:

host all all 127.0.0.1 md5 host all all 192.168.0.1/25 md5

On redémarre le service:

# systemctl restart postgresql

On se connecte avec le compte postgres:

# su postgres

On télécharge le dump fait au préalable avec pg_dumpall > fichier.dmp et on rétablit la base:

$ psql < fichier.dmp $ exit

On installe ensuite le nouveau cluster :

# apt install postgresql-16

Pour lister les cluster :

# pg_lsclusters

On supprime la nouvelle version du cluster:

# pg_dropcluster 16 main --stop

On upgrade la version précédente:

# pg_upgradecluster 15 main

Le nouveau cluster est en vert, on peut supprimer l'ancien:

# pg_dropcluster 15 main

Et on désintalle l'ancienne version :

# apt purge postgresql-15 postgresql-client-15

Migrer un cluster postgresql