linux:postgres:upgrade_version

Upgrade sa version de PostgreSQL

Upgrade PostreSQL, c'est vraiment une plaie. Petit tuto du coup sur comment faire.

Il faut installer les 2 versions de postgresql et stop les 2, puis passer sur l'utilisateur postgres

su - postgres

Puis on exporte les variables d'environnement qui vont bien. Par exemple pour une upgrade de 11 à 13 :

export PGDATAOLD=/var/lib/postgresql/11/main
export PGDATANEW=/var/lib/postgresql/13/main
export PGBINOLD=/usr/lib/postgresql/11/bin/
export PGBINNEW=/usr/lib/postgresql/13/bin/

Puis on passe pg_upgrade avec l'option –check afin de ne pas appliquer les modifications

/usr/lib/postgresql/13/bin/pg_upgrade --check --old-options '-c config_file=/etc/postgresql/11/main/postgresql.conf' --new-options '-c config_file=/etc/postgresql/13/main/postgresql.conf'

Si tout est OK, repassez la commande en supprimant –check.

Enfin, on pense à modifier la configuration de la nouvelle version de postgresql afin d'écouter sur le bon port :

sed -i "s/5433/5432/g" /etc/postgresql/13/main/postgresql.conf

Enfin, on clean l'ancienne configuration, toujours en tant que postgres :

cd ; ./analyze_new_cluster.sh ; ./delete_old_cluster.sh

Puis on supprime tout ce qui concerne l'ancienne version de postgresql

  • linux/postgres/upgrade_version.txt
  • Dernière modification: 2021/09/29 14:18
  • de root