Problème avec la mise à niveau de postgres

J’essaie d’aider quelqu’un qui a refusé de passer à PG13 et qui a maintenant un certificat SSL expiré.

Cela pourrait être rendu plus difficile par Apt-get update fails inside container yarn repo not signed - #5 by pfaffman, mais j’ai modifié les modèles pg12 et pg13 pour qu’ils fonctionnent, mais je n’arrive pas à le mettre à niveau et je n’arrive pas à le reconstruire avec le modèle pg12.

Voici ce qui se passe lorsque j’ai essayé de faire la mise à niveau :

                                     
correction des permissions sur le répertoire existant /var/lib/postgresql/12/main ... ok          
création des sous-répertoires ... ok
sélection de l'implémentation de la mémoire partagée dynamique ... posix
sélection du nombre maximal de connexions par défaut ... 100                                                                                                              
sélection des buffers partagés par défaut ... 128MB
sélection du fuseau horaire par défaut ... Etc/UTC                              
création des fichiers de configuration ... ok
exécution du script de démarrage ... ok
initialisation post-démarrage ... ok
synchronisation des données sur disque ... ok
                                     
Succès. Vous pouvez maintenant démarrer le serveur de base de données en utilisant :
                                                                                                                                                       
    pg_ctlcluster 12 main start                                                                                                                        
                                                                           
update-alternatives : avertissement : forçage de la réinstallation de l'alternative /usr/share/postgresql/13/man/man1/postmaster.1.gz car le groupe de liens postmaster.1.g
z est cassé                                                                                                                                            
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 (246.pgdg110+1) ...
Construction des dictionnaires PostgreSQL à partir des paquets myspell/hunspell installés...
Suppression des fichiers de dictionnaire obsolètes :                                                                                                                    
Arrêt du serveur de base de données PostgreSQL 12 : main.                                                                                                          
Arrêt du serveur de base de données PostgreSQL 13 : main.                                                                                                          
Vérifications de cohérence en cours               -----------------------------                                                                                                                          
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                                                                                         
Recherche des transactions préparées                          ok                                                                                         
Recherche des types composites définis par le système dans les tables utilisateur  ok                                                                                         
Recherche des types reg* dans les tables utilisateur                 ok                                                                                         
Vérification de l'incompatibilité entre contrib/isn et le passage d'arguments bigint       ok                                                                                         
Création d'une sauvegarde des objets globaux                             ok                                                                                         
Création d'une sauvegarde des schémas de base de données                                                                                                                      
  discourse                                                                                                                                            
                                                                                                                                                       
*échec*                                                                                                                                              
                                                                                                                                                       
Consultez les dernières lignes de « pg_upgrade_dump_16566.log » pour connaître la cause probable de l'échec.
Échec, sortie
-------------------------------------------------------------------------------------
MISE À NIVEAU DE POSTGRES ÉCHOUÉE

Veuillez visiter https://meta.discourse.org/t/postgresql-13-update/172563 pour obtenir de l'aide.

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

Essayer de reconstruire sans la mise à niveau a des choses comme celles ci-dessous lorsqu’il essaie de migrer la base de données :

PG::InsufficientPrivilege: ERROR:  permission denied to create extension "unaccent"                                                                    

Je pense que je devrai revenir à une installation propre et à la dernière sauvegarde, qui date de plusieurs jours.

Ne pouvez-vous pas ajouter ce qui suit à hooks pour créer l’extension unaccent si elle est manquante ?

after_postgres:
    - exec: su postgres -c 'psql discourse -c "create extension if not exists unaccent;"'
3 « J'aime »

Ça marche ! Je vais regarder ça demain matin. Merci.

1 « J'aime »

On dirait que ça a marché ! J’ai dû l’ajouter à pg12 et postgres.

Eh bien, ça a suffi pour le faire redémarrer avec PG12, mais je n’ai jamais réussi à faire fonctionner la mise à niveau vers PG13. J’ai fait une sauvegarde, déplacé les éléments postgres dans un répertoire de sauvegarde, reconstruit et restauré la sauvegarde.

1 « J'aime »

Ce sujet a été automatiquement fermé 30 jours après la dernière réponse. Les nouvelles réponses ne sont plus autorisées.