Une chance de mettre à jour la version de postgres-client ?

Nous utilisons Discourse avec une base de données externe au lieu de Postgres intégré basé sur Docker. Nous avons récemment dû mettre à niveau notre cluster Postgres vers la version 14, ce qui explique pourquoi la sauvegarde Discourse échoue.

Sortie du journal

[2022-01-17 03:38:08] Dumping the public schema of the database...
[2022-01-17 03:38:08] pg_dump: error: server version: 14.1 (Ubuntu 14.1-1.pgdg18.04+1); pg_dump version: 13.5 (Debian 13.5-1.pgdg100+1)
[2022-01-17 03:38:08] pg_dump: error: aborting because of server version mismatch
[2022-01-17 03:38:08] EXCEPTION: pg_dump failed

Existe-t-il un moyen de mettre à niveau le postgresql-client 13.5-1.pgdg100+1 du conteneur vers la version 14 ?

1 « J'aime »

Nous mettons à niveau les versions de Postgres toutes les deux versions, car la mise à niveau de la base de données nécessite énormément de ressources d’ingénierie. Nous sommes actuellement sur Postgres 13, nous passerons donc à Postgres 15.1 lorsqu’elle sera publiée (la version corrective).

1 « J'aime »

Je comprends parfaitement, mais merci d’avoir souligné la politique de mise à niveau – c’est vraiment bon à savoir. Nous sommes conscients des ressources d’ingénierie concernant la base de données. J’adore Postgres, mais la mise à niveau de notre cluster nous transforme généralement en fervents catholiques – beaucoup de prières à l’avance, mais toujours beaucoup de sang, de sueur et de larmes.

2 « J'aime »

Vous devriez pouvoir installer manuellement le postgresql-client requis en ajoutant les commandes apt-get appropriées à votre app.yml.

3 « J'aime »

Cela pourrait-il causer des problèmes de dépendances avec les gems Ruby de l’application elle-même ? Autant que je sache, ajouter apt install comme hook nécessite un launcher rebuild app, n’est-ce pas ? Si c’est le cas, je l’ignorerais pour une autre mise à niveau redoutée car, comme décrit ici dans un autre de mes sujets, nous rencontrons des problèmes massifs de reconstruction de l’application en Chine. C’est la raison pour laquelle j’aimerais clarifier si le simple fait d’entrer dans l’application puis de l’installer manuellement via apt ferait l’affaire.

3 « J'aime »

Je suggère que vous le testiez sur un site de staging avant de faire quoi que ce soit en production, mais je pense qu’il n’y aura aucun problème avec les gems Ruby. L’installer dans le conteneur en cours d’exécution devrait également fonctionner.

2 « J'aime »

Vous allez donc créer le script l’année prochaine en 2023 ? https://www.postgresql.org/support/versioning/

Dois-je ouvrir un nouveau ticket pour l’échec de la sauvegarde ?

??? cela demande une quantité énorme de ressources d’ingénierie ???
Il semble que ces simples lignes de commandes pour mettre à jour la base de données postgresql de 13.5 à 14.1 résolvent le problème de sauvegarde… Santé

cd /var/discourse
./launcher enter app
sudo apt-get install postgresql

pour le prendre officiellement en charge, oui.

4 « J'aime »