Mise à jour de PostgreSQL 15

Lorsque je visite https://community.ankihub.net/admin/update, je vois le message suivant :

Vous exécutez une ancienne version de l’image Discourse.
Les mises à jour via l’interface web sont désactivées jusqu’à ce que vous exécutiez la dernière image. Pour ce faire, connectez-vous à votre serveur via SSH et exécutez :

cd /var/discourse
git pull
./launcher rebuild app

Après avoir suivi ces instructions, j’obtiens l’erreur UPGRADE OF POSTGRES FAILED :

invoke-rc.d: impossible de déterminer le niveau d'exécution actuel
invoke-rc.d: policy-rc.d a refusé l'exécution de start.
Traitement des déclencheurs pour postgresql-common (267.pgdg120+1) ...
Construction des dictionnaires PostgreSQL à partir des paquets myspell/hunspell installés...
Suppression des fichiers de dictionnaires obsolètes :
Arrêt du serveur de base de données PostgreSQL 13 : main.
Arrêt du serveur de base de données PostgreSQL 15 : main.
Exécution des vérifications de cohérence
-----------------------------
Vérification des versions des clusters                                   ok
Vérification que l'utilisateur de la base de données est l'utilisateur d'installation                  ok
Vérification des paramètres de connexion à la base de données                       ok
Vérification des transactions préparées                          ok
Vérification des types composites définis par le système dans les tables utilisateurs  ok
Vérification des types de données reg* dans les tables utilisateurs                 ok
Vérification des incohérences de passage de bigint avec contrib/isn       ok
Vérification des conversions de codage définies par l'utilisateur              ok
Vérification des opérateurs postfix définis par l'utilisateur                 ok
Vérification des fonctions polymorphes incompatibles             ok
Création d'un dump des objets globaux                             ok
Création d'un dump des schémas de base de données
*échec*

Consultez les dernières lignes de "/shared/postgres_data_new/pg_upgrade_output.d/20250129T103738.877/log/pg_upgrade_dump_16384.log" pour
la cause probable de l'échec.
Échec, sortie
-------------------------------------------------------------------------------------
UPGRADE OF POSTGRES FAILED

Veuillez consulter https://meta.discourse.org/t/postgresql-15-update/349515 pour obtenir de l'aide.

Vous pouvez exécuter ./launcher start app pour redémarrer votre application en attendant
-------------------------------------------------------------------------------------



ÉCHEC
--------------------
Pups::ExecError: if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres déjà en cours d'exécution, arrêtez le conteneur ; exit 1
fi
 échoué avec le statut de retour #<Process::Status: pid 18 exit 1>
Emplacement de l'échec : /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec a échoué avec les paramètres {"tag"=>"db", "cmd"=>"if [ -f /root/install_postgres ]; then\n  /root/install_postgres && rm -f /root/install_postgres\nelif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then\n  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres déjà en cours d'exécution, arrêtez le conteneur ; exit 1\nfi\n"}
bootstrap a échoué avec le code de sortie 1

Rien ici ni dans ce sujet quelque peu lié ne résout mon problème, à ma connaissance.

Voici les journaux de /shared/postgres_data_new/pg_upgrade_output.d/20250129T103738.877/log/pg_upgrade_dump_16384.log :

commande : "/usr/lib/postgresql/15/bin/pg_dump" --host /var/lib/postgresql --port 50432 --username postgres --schema-only --quote-all-identifiers --binary-upgrade --format=custom  --file="/shared/postgres_data_new/pg_upgrade_output.d/20250129T103738.877/dump/pg_upgrade_dump_16384.custom" 'dbname=discourse' >> "/shared/postgres_data_new/pg_upgrade_output.d/20250129T103738.877/log/pg_upgrade_dump_16384.log" 2>&1
pg_dump : erreur : requête échouée : ERREUR : impossible d'accéder au fichier "$libdir/vector" : Aucun fichier ou répertoire de ce type
pg_dump : détail : La requête était : SELECT t.tableoid, t.oid, i.indrelid, t.relname AS indexname, pg_catalog.pg_get_indexdef(i.indexrelid) AS indexdef, i.indkey, i.indisclustered, c.contype, c.conname, c.condeferrable, c.condeferred, c.tableoid AS contableoid, c.oid AS conoid, pg_catalog.pg_get_constraintdef(c.oid, false) AS condef, (SELECT spcname FROM pg_catalog.pg_tablespace s WHERE s.oid = t.reltablespace) AS tablespace, t.reloptions AS indreloptions, i.indisreplident, inh.inhparent AS parentidx, i.indnkeyatts AS indnkeyatts, i.indnatts AS indnatts, (SELECT pg_catalog.array_agg(attnum ORDER BY attnum)   FROM pg_catalog.pg_attribute   WHERE attrelid = i.indexrelid AND     attstattarget >= 0) AS indstatcols, (SELECT pg_catalog.array_agg(attstattarget ORDER BY attnum)   FROM pg_catalog.pg_attribute   WHERE attrelid = i.indexrelid AND     attstattarget >= 0) AS indstatvals, false AS indnullsnotdistinct FROM unnest('{16805,16813,16823,16835,16846,16858,16940,16948,16963,16973,16996,17006,17029,17061,17071,17085,17095,17101,17112,17136,17151,17159,17168,17266,17280,17321,17334,17345,17354,17368,17382,17398,17412,17420,17428,17519,17532,17543,17562,17570,17620,17687,17710,17724,17738,17754,17775,17788,17803,17824,17851,17864,17898,17917,17932,17944,17958,17980,17993,18006,18019,18030,18041,18055,18069,18092,18101,18134,18145,18166,18177,18214,18241,18263,18276,18298,18324,18338,18358,18368,18403,18426,18449,18458,18470,18496,18510,18525,18534,18543,18569,18596,18607,18625,18643,18655,18663,18676,18686,18698,18710,18719,18734,18742,18757,18768,18786,18798,18802,18806,18846,18864,18879,18891,18910,18920,18932,18946,18988,19003,19014,19039,19059,19073,19085,19097,19103,19116,19140,19192,19206,19227,19250,19266,19300,19309,19328,19343,19354,19367,19389,19402,19417,19430,19497,19521,19544,19559,19569,19597,19605,19637,19687,19703,19721,19742,19771,19807,19821,19830,19839,19862,19874,19890,19904,19917,19932,19942,19951,19960,19981,20005,20021,20044,20052,20061,20073,20082,20133,20146,20157,20178,20191,20203,20217,20231,20263,20276,20297,20309,20320,28805,28951,28964,28976,28986,28997,32824,32833,32843,32852,32862,32875,32887,32899,32910,32930,32967,35131,35141,38401,38413,38437,38445,38461,38482,38495,42870,46125,46138,130133,191445,191457,191471,191486,191497,191603,191637,243875,606663,606675,606693,606707,779182,779197,779213,779225,779237,779252,779265,968985,968993,969004,969017,969027,1004239,1004251,1004263,1004276,1004295,1091838,1091849,1091860,1336877,1336884,1336891,1566392,2169846,2169852,2169858,2169864,2169870,2169876,2169882,2169888,2169894,2169900,2169906,2169912,2169918,2169924,2169930,2169936,2169942,2169948,2169954,2169960,2169966,2169972,2169978,2169984}'::pg_catalog.oid[]) AS src(tbloid)
JOIN pg_catalog.pg_index i ON (src.tbloid = i.indrelid) JOIN pg_catalog.pg_class t ON (t.oid = i.indexrelid) JOIN pg_catalog.pg_class t2 ON (t2.oid = i.indrelid) LEFT JOIN pg_catalog.pg_constraint c ON (i.indrelid = c.conrelid AND i.indexrelid = c.conindid AND c.contype IN ('p','u','x')) LEFT JOIN pg_catalog.pg_inherits inh ON (inh.inhrelid = indexrelid) WHERE (i.indisvalid OR t2.relkind = 'p') AND i.indisready ORDER BY i.indrelid, indexname
/shared/postgres_data_new/pg_upgrade_output.d/20250129T103738.877/log/pg_upgrade_dump_16384.log

Voici la sortie de ./discourse-doctor :

Sortie de ./discourse-doctor
DISCOURSE DOCTOR mer. 29 janv. 2025 10:39:42 UTC
OS: Linux forum 5.4.0-48-generic #52-Ubuntu SMP jeu. 10 sept. 10:58:49 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux


Conteneur/app.yml trouvé

==================== PARAMÈTRES YML ====================
DISCOURSE_HOSTNAME=community.ankihub.net
SMTP_ADDRESS=smtp.mailgun.org
DEVELOPER_EMAILS=REDACTED 
SMTP_PASSWORD=REDACTED 
SMTP_PORT=587
SMTP_USER_NAME=postmaster@mg.ankihub.net
LETSENCRYPT_ACCOUNT_EMAIL=REDACTED 

==================== INFOS DOCKER ====================
VERSION DOCKER: Docker version 27.2.1, build 9e34c9b

PROCESSUS DOCKER (docker ps -a)

ID DU CONTENEUR   IMAGE                           COMMANDE        CRÉÉ         STATUT          PORTS                                                                      NOMS
37e2430e1014   local_discourse/app             "/sbin/boot"   il y a 4 mois    Up 33 secondes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   app
260f4c0ed417   local_discourse/mail-receiver   "/sbin/boot"   il y a 20 mois   Up 4 mois     0.0.0.0:25->25/tcp, :::25->25/tcp                                          mail-receiver


Le conteneur Discourse app est en cours d'exécution


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-assign.git
          - git clone https://github.com/discourse/discourse-templates.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-reactions.git
          - git clone https://github.com/discourse/discourse-chat-integration.git
          - git clone https://github.com/discourse/discourse-code-review.git
          - git clone https://github.com/discourse/discourse-topic-voting.git
          - git clone https://github.com/discourse/discourse-automation.git
          - git clone https://github.com/discourse/discourse-bbcode-color.git
          - git clone https://github.com/discourse/discourse-data-explorer.git
          - git clone https://github.com/discourse/discourse-docs.git
          - git clone https://github.com/discourse/discourse-ai.git
          - git clone https://github.com/discourse/discourse-jira.git

Aucun plugin non officiel détecté.

Voir https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb pour la liste officielle.

========================================
Version de Discourse sur community.ankihub.net : Discourse 3.4.0.beta2 
Version de Discourse sur localhost : Discourse 3.4.0.beta2 


==================== INFORMATIONS SUR LA MÉMOIRE ====================
OS: Linux
RAM (Mo): 4127

              total        utilisé        libre      partagé  cache/buff    disponible
Mémoire:           3936        1567         158         274        2209        1802
Swap:          2047          67        1980

==================== VÉRIFICATION DE L'ESPACE DISQUE ====================
---------- Espace disque OS ----------
Système de fichiers      Taille  Utilisé Disponible % Monté sur
/dev/vda1        78G   50G   28G  65% /

---------- Espace disque du conteneur ----------
Système de fichiers      Taille  Utilisé Disponible % Monté sur
overlay          78G   50G   28G  65% /
/dev/vda1        78G   50G   28G  65% /shared
/dev/vda1        78G   50G   28G  65% /var/log

==================== INFORMATIONS SUR LE DISQUE ====================
Disque /dev/loop0: 55,68 MiB, 58363904 octets, 113992 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique/physique): 512 octets / 512 octets
Taille E/S (minimale/optimale): 512 octets / 512 octets


Disque /dev/loop1: 91,85 MiB, 96292864 octets, 188072 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique/physique): 512 octets / 512 octets
Taille E/S (minimale/optimale): 512 octets / 512 octets


Disque /dev/loop2: 63,71 MiB, 66789376 octets, 130448 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique/physique): 512 octets / 512 octets
Taille E/S (minimale/optimale): 512 octets / 512 octets


Disque /dev/loop3: 63,10 MiB, 67080192 octets, 131016 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique/physique): 512 octets / 512 octets
Taille E/S (minimale/optimale): 512 octets / 512 octets


Disque /dev/loop4: 44,45 MiB, 46596096 octets, 91008 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique/physique): 512 octets / 512 octets
Taille E/S (minimale/optimale): 512 octets / 512 octets


Disque /dev/loop5: 91,9 MiB, 96346112 octets, 188176 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique/physique): 512 octets / 512 octets
Taille E/S (minimale/optimale): 512 octets / 512 octets


Disque /dev/loop7: 44,3 MiB, 46448640 octets, 90720 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique/physique): 512 octets / 512 octets
Taille E/S (minimale/optimale): 512 octets / 512 octets


Disque /dev/vda: 80 GiB, 85899345920 octets, 167772160 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique/physique): 512 octets / 512 octets
Taille E/S (minimale/optimale): 512 octets / 512 octets
Type d'étiquette de disque: gpt
Identifiant du disque: 2ED04D82-BA1D-4A75-86B9-9553B7EA5228

Périphérique      Début       Fin   Secteurs  Taille Type
/dev/vda1  227328 167772126 167544799 79.9G Système de fichiers Linux
/dev/vda14   2048     10239      8192    4M Boot BIOS
/dev/vda15  10240    227327    217088  106M Données de base Microsoft

Les entrées de la table de partitions ne sont pas dans l'ordre du disque.


Disque /dev/loop8: 55,37 MiB, 58052608 octets, 113384 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique/physique): 512 octets / 512 octets
Taille E/S (minimale/optimale): 512 octets / 512 octets

==================== FIN DES INFORMATIONS SUR LE DISQUE ====================

==================== TEST DE COURRIER ÉLECTRONIQUE ====================
Pour un test robuste, obtenez une adresse sur http://www.mail-tester.com/
Test de courrier électronique ignoré.

==================== TERMINÉ ! ====================

J’espère que quelqu’un pourra m’indiquer la bonne direction. Merci !

1 « J'aime »