J’ai résolu le problème que j’avais avec la mise à niveau de PostgreSQL de 13 à 15, après avoir restauré le serveur avec la mise à niveau échouée à partir des sauvegardes, les étapes suivantes ont fonctionné pour moi avec une locale PostgreSQL en_GB.UTF-8 :
sudo -i
su - discourse
cd /var/discourse
git stash
git stash drop
git pull
./launcher stop app
docker run --rm \
--entrypoint=/bin/bash \
-e LANG='en_GB.UTF-8' \
-v /var/discourse/shared/standalone/postgres_data:/var/lib/postgresql/13/data \
-v /var/discourse/shared/standalone/postgres_data_new:/var/lib/postgresql/15/data \
tianon/postgres-upgrade:13-to-15 \
-c 'sed -i "s/^# $LANG/$LANG/" /etc/locale.gen & \
locale-gen & \
apt-get update & \
apt-get install -y postgresql-13-pgvector postgresql-15-pgvector & \
docker-upgrade'
exit
mv /var/discourse/shared/standalone/postgres_data /var/discourse/shared/standalone/postgres_data_old
mv /var/discourse/shared/standalone/postgres_data_new /var/discourse/shared/standalone/postgres_data
chown -R 101:104 /var/discourse/shared/standalone/postgres_data
su - discourse
cd /var/discourse
docker run --rm -v /var/discourse/shared/standalone:/shared \
local_discourse/app chown -R postgres:postgres /shared/postgres_data
./launcher rebuild app
J’ai dû supprimer les modifications locales qui avaient été apportées dans le passé pour la LANG PostgreSQL en utilisant git stash; git stash drop et le déplacement des répertoires de données PostgreSQL a dû être effectué en tant que root et un chown était nécessaire.