Échec de la mise à niveau manuelle

Bonjour

– J’essaie de mettre à jour manuellement un ancien Discourse en suivant ces instructions :

Je rencontre constamment cette erreur :

Pups::ExecError : apt-get update && apt-get install -y postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3 a échoué avec le code de retour #<Process::Status: pid 18 exit 100>

Emplacement de l’échec : /pups/lib/pups/exec_command.rb:112:in `spawn’

exec a échoué avec les paramètres “apt-get update && apt-get install -y postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3”

a2bd7274278e546582a98ef46371b18564f416c2cadaa46a6ec6c58a5a3f162f

** ÉCHEC DU BOOTSTRAP ** Veuillez faire défiler vers le haut et rechercher les messages d’erreur précédents ; il peut y en avoir plusieurs.

./discourse-doctor peut aider à diagnostiquer le problème.

J’ai effectué une mise à niveau vers Ubuntu 18.04.3 LTS et j’ai augmenté la taille du disque bien au-delà du double de la taille de la base de données.

Avez-vous des idées ?

:scream: :scream: Quelle est la date de votre installation Discourse ? Sur quelle version êtes-vous ?

semble être [v1.9.0.beta17 +38]

C’est l’heure de la mise à niveau. Discourse est passé à la version v2.4.0.beta10.
De nombreuses modifications, mises à jour et améliorations ont été apportées, etc. :wink:

Est-ce que cela fonctionne maintenant ?

Je n’ai aucune expertise dans ce domaine, mais il semble que l’échec survienne lors de la tentative d’obtenir Postgres 9.3.

Or, cette version a été mise à niveau vers la 9.5 en 2016, et vous utilisez la version 1.9 de Discourse, qui date de 2018 ?

Peut-être que cela est lié à ce problème :

Pour le moment, je n’ai pas le temps de lire ces sujets. J’ai simplement constaté qu’il n’y a eu aucune aide depuis deux jours.

Il est temps de passer à la version supérieure. Discourse est maintenant en v2.4.0.beta10.
Il y a eu de nombreux changements, mises à jour, améliorations, etc. :wink:

Oui. J’essaie de faire la mise à niveau. Le problème est que celle-ci échoue.

Je veux simplement une version à jour de Discourse, tout en conservant les anciennes données.

Comment procéder ?

Je ne comprends pas pourquoi vous utilisez une version antérieure de PostgreSQL par rapport à celle qui aurait été installée ou mise à niveau pour [v1.9.0.beta17 +38]

Avez-vous installé via une méthode autre que la méthode officielle d’installation de Discourse ? Consultez la méthode d’installation officielle ici : discourse/docs/INSTALL.md at main · discourse/discourse · GitHub

Quelle que soit votre démarche, assurez-vous d’avoir une sauvegarde.

Vérifiez que vous disposez d’un espace disque suffisant pour la mise à niveau de PostgreSQL. Ils indiquent qu’il faut un espace libre égal à deux fois la taille de la base de données :

Les deux autres sujets que j’ai publiés précédemment peuvent également vous aider, mais je ne suis pas certain de l’origine de votre problème.

« Je ne comprends pas pourquoi vous utilisez une version plus ancienne de PostgreSQL que celle qui aurait été installée ou mise à niveau pour [v1.9.0.beta17 +38] »

« Avez-vous installé Discourse par une méthode autre que la méthode officielle ? Consultez la méthode d’installation officielle sur discourse/INSTALL.md at master · discourse/discourse · GitHub »

Moi non plus. :slight_smile:

J’ai effectué la mise à niveau via la section /admin du service web.

Maintenant, le service web indique que je dois effectuer la mise à jour manuellement.

La mise à niveau manuelle échoue.

Voilà la situation.

Je me demande s’il existe un moyen de mettre d’abord PostgreSQL à niveau manuellement, puis d’essayer de mettre Discourse à niveau. Cela fonctionnerait-il ?

PG 9.3 est vraiment ancien, et cela ne semble pas adapté à une installation de Discourse v1.9.

À ta place, je ferais une sauvegarde, je créerais un nouvel hôte avec une version à jour de Discourse, je restaurerais la sauvegarde et je déplacerais le nom d’hôte vers le nouveau serveur.

Avez-vous un conteneur de données séparé ou utilisez-vous une base de données externe ?

Dans tous les cas, je vous suggère d’essayer d’abord la solution que Richard vient de proposer.

Avez-vous un conteneur de données séparé ou utilisez-vous une base de données externe ?

Comment puis-je le savoir ? Je veux dire, comment puis-je le savoir / le vérifier ?

Si j’étais toi, je ferais une sauvegarde, je créerais un nouvel hôte avec une version à jour de Discourse, je restaurerais la sauvegarde et je déplacerais le nom d’hôte vers le nouveau serveur.

D’accord, je pense que je vais essayer ça.