Je viens de l’essayer — cela a nécessité quelques ajustements.
Le nouveau système ne l’accepte pas, il rejette carrément la base de données.
Launcher est à jour
Arrêt de l'ancien conteneur
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && /pups/bin/pups --stdin
Déjà à jour.
I, [2020-12-13T09:23:39.291334 #1] INFO -- : Chargement de --stdin
I, [2020-12-13T09:23:39.296303 #1] INFO -- : > DEBIAN_FRONTEND=noninteractive apt-get purge -y postgresql-13 postgresql-client-13 postgresql-contrib-13
I, [2020-12-13T09:23:41.511661 #1] INFO -- : Lecture des listes de paquets...
Construction de l'arbre de dépendances...
Lecture des informations d'état...
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
libllvm7 pgdg-keyring postgresql-client-common postgresql-common ssl-cert
Utilisez 'apt autoremove' pour les supprimer.
Les paquets suivants seront SUPPRIMÉS :
postgresql-13* postgresql-client-13*
0 mis à niveau, 0 nouvellement installés, 2 à supprimer et 0 non mis à jour.
Après cette opération, 54,3 Mo d'espace disque seront libérés.
(Lecture de la base de données ... 43863 fichiers et répertoires actuellement installés.)
Suppression de postgresql-13 (13.1-1.pgdg100+1) ...
invoke-rc.d : impossible de déterminer le niveau d'exécution actuel
invoke-rc.d : la politique policy-rc.d a refusé l'exécution de l'arrêt.
Suppression de postgresql-client-13 (13.1-1.pgdg100+1) ...
Traitement des déclencheurs pour postgresql-common (223.pgdg100+1) ...
Construction des dictionnaires PostgreSQL à partir des paquets myspell/hunspell installés...
Suppression des fichiers de dictionnaire obsolètes :
(Lecture de la base de données ... 42050 fichiers et répertoires actuellement installés.)
Nettoyage des fichiers de configuration pour postgresql-13 (13.1-1.pgdg100+1) ...
Suppression du cluster main...
I, [2020-12-13T09:23:41.511861 #1] INFO -- : > apt-get update && apt-get install -y postgresql-10 postgresql-client-10 postgresql-contrib-10
debconf : report de la configuration des paquets, car apt-utils n'est pas installé
I, [2020-12-13T09:23:51.192217 #1] INFO -- : Hit:1 http://deb.debian.org/debian buster InRelease
Get:2 http://deb.debian.org/debian buster-updates InRelease [51,9 kB]
Get:3 http://security.debian.org/debian-security buster/updates InRelease [65,4 kB]
Get:4 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [104 kB]
Hit:5 https://deb.nodesource.com/node_10.x buster InRelease
Get:6 http://security.debian.org/debian-security buster/updates/main amd64 Packages [254 kB]
Get:7 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [216 kB]
Téléchargement de 690 kB en 1s (525 kB/s)
Lecture des listes de paquets...
Lecture des listes de paquets...
Construction de l'arbre de dépendances...
Lecture des informations d'état...
Le paquet suivant a été installé automatiquement et n'est plus nécessaire :
libllvm7
Utilisez 'apt autoremove' pour le supprimer.
Paquets suggérés :
postgresql-doc-10
Les paquets NOUVEAUX suivants seront installés :
postgresql-10 postgresql-client-10
0 mis à niveau, 2 nouvellement installés, 0 à supprimer et 5 non mis à jour.
Besoin de télécharger 6 402 ko d'archives.
Après cette opération, 30,6 Mo d'espace disque supplémentaire seront utilisés.
Get:1 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-client-10 amd64 10.15-1.pgdg100+1 [1 436 kB]
Get:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-10 amd64 10.15-1.pgdg100+1 [4 966 kB]
Téléchargement de 6 402 ko en 2s (2 809 kB/s)
Sélection du paquet postgresql-client-10 précédemment non sélectionné.
(Lecture de la base de données ... 42050 fichiers et répertoires actuellement installés.)
Préparation du dépaquetage de .../postgresql-client-10_10.15-1.pgdg100+1_amd64.deb ...
Dépaquetage de postgresql-client-10 (10.15-1.pgdg100+1) ...
Sélection du paquet postgresql-10 précédemment non sélectionné.
Préparation du dépaquetage de .../postgresql-10_10.15-1.pgdg100+1_amd64.deb ...
Dépaquetage de postgresql-10 (10.15-1.pgdg100+1) ...
Configuration de postgresql-client-10 (10.15-1.pgdg100+1) ...
update-alternatives : utilisation de /usr/share/postgresql/10/man/man1/psql.1.gz pour fournir /usr/share/man/man1/psql.1.gz (psql.1.gz) en mode automatique
Configuration de postgresql-10 (10.15-1.pgdg100+1) ...
Création du nouveau cluster PostgreSQL 10/main ...
/usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/10/main --auth-local peer --auth-host md5
Les fichiers appartenant à ce système de base de données seront détenus par l'utilisateur « postgres ».
Cet utilisateur doit également être propriétaire du processus serveur.
Le cluster de base de données sera initialisé avec la locale « C.UTF-8 ».
Le codage par défaut de la base de données a été défini en conséquence sur « UTF8 ».
La configuration par défaut de la recherche textuelle sera définie sur « english ».
Les sommes de contrôle des pages de données sont désactivées.
Correction des permissions sur le répertoire existant /var/lib/postgresql/10/main ... ok
création des sous-répertoires ... ok
sélection de max_connections par défaut ... 100
sélection de shared_buffers par défaut ... 128Mo
sélection du fuseau horaire par défaut ... Etc/UTC
sélection de l'implémentation de la mémoire partagée dynamique ... posix
création des fichiers de configuration ... ok
exécution du script de bootstrap ... ok
exécution de l'initialisation post-bootstrap ... ok
synchronisation des données sur le disque ... ok
Succès. Vous pouvez maintenant démarrer le serveur de base de données en utilisant :
pg_ctlcluster 10 main start
Ver Cluster Port Statut Propriétaire Répertoire de données Fichier journal
10 main 5432 down postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
update-alternatives : utilisation de /usr/share/postgresql/10/man/man1/postmaster.1.gz pour fournir /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) en mode automatique
invoke-rc.d : impossible de déterminer le niveau d'exécution actuel
invoke-rc.d : la politique policy-rc.d a refusé l'exécution du démarrage.
Traitement des déclencheurs pour postgresql-common (223.pgdg100+1) ...
Construction des dictionnaires PostgreSQL à partir des paquets myspell/hunspell installés...
Suppression des fichiers de dictionnaire obsolètes :
I, [2020-12-13T09:23:51.192964 #1] INFO -- : > mkdir -p /shared/postgres_run
I, [2020-12-13T09:23:51.195917 #1] INFO -- :
I, [2020-12-13T09:23:51.196235 #1] INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2020-12-13T09:23:51.198835 #1] INFO -- :
I, [2020-12-13T09:23:51.199139 #1] INFO -- : > chmod 775 /shared/postgres_run
I, [2020-12-13T09:23:51.201681 #1] INFO -- :
I, [2020-12-13T09:23:51.202025 #1] INFO -- : > rm -fr /var/run/postgresql
I, [2020-12-13T09:23:51.204199 #1] INFO -- :
I, [2020-12-13T09:23:51.204549 #1] INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2020-12-13T09:23:51.207718 #1] INFO -- :
I, [2020-12-13T09:23:51.208017 #1] INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres déjà en cours d'exécution, arrêter le conteneur ; exit 1
2020/12/13 09:23:51 socat[1567] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36) : Aucun fichier ou répertoire
I, [2020-12-13T09:23:51.217014 #1] INFO -- :
I, [2020-12-13T09:23:51.217294 #1] INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2020-12-13T09:23:51.220400 #1] INFO -- :
I, [2020-12-13T09:23:51.220682 #1] INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2020-12-13T09:23:51.223488 #1] INFO -- :
I, [2020-12-13T09:23:51.223691 #1] INFO -- : > mkdir -p /shared/postgres_run/10-main.pg_stat_tmp
I, [2020-12-13T09:23:51.225967 #1] INFO -- :
I, [2020-12-13T09:23:51.226198 #1] INFO -- : > chown postgres:postgres /shared/postgres_run/10-main.pg_stat_tmp
I, [2020-12-13T09:23:51.228306 #1] INFO -- :
I, [2020-12-13T09:23:51.233016 #1] INFO -- : Fichier > /etc/service/postgres/run chmod: +x chown:
I, [2020-12-13T09:23:51.237345 #1] INFO -- : Fichier > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2020-12-13T09:23:51.237662 #1] INFO -- : > chown -R root /var/lib/postgresql/10/main
I, [2020-12-13T09:23:51.244979 #1] INFO -- :
I, [2020-12-13T09:23:51.245164 #1] INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/10/bin/initdb -D /shared/postgres_data || exit 0
I, [2020-12-13T09:23:51.246982 #1] INFO -- :
I, [2020-12-13T09:23:51.247152 #1] INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2020-12-13T09:23:51.314470 #1] INFO -- :
I, [2020-12-13T09:23:51.314888 #1] INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2020-12-13T09:23:51.318075 #1] INFO -- :
I, [2020-12-13T09:23:51.318499 #1] INFO -- : Remplacement de data_directory = '/var/lib/postgresql/10/main' par data_directory = '/shared/postgres_data' dans /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.319171 #1] INFO -- : Remplacement de (?-mix:#?listen_addresses *=.*) par listen_addresses = '*' dans /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.319652 #1] INFO -- : Remplacement de (?-mix:#?synchronous_commit *=.*) par synchronous_commit = $db_synchronous_commit dans /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.320131 #1] INFO -- : Remplacement de (?-mix:#?shared_buffers *=.*) par shared_buffers = $db_shared_buffers dans /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.320672 #1] INFO -- : Remplacement de (?-mix:#?work_mem *=.*) par work_mem = $db_work_mem dans /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.321143 #1] INFO -- : Remplacement de (?-mix:#?default_text_search_config *=.*) par default_text_search_config = '$db_default_text_search_config' dans /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.321608 #1] INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2020-12-13T09:23:51.324709 #1] INFO -- :
I, [2020-12-13T09:23:51.325108 #1] INFO -- : Remplacement de (?-mix:#?checkpoint_segments *=.*) par checkpoint_segments = $db_checkpoint_segments dans /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.325597 #1] INFO -- : Remplacement de (?-mix:#?logging_collector *=.*) par logging_collector = $db_logging_collector dans /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.326097 #1] INFO -- : Remplacement de (?-mix:#?log_min_duration_statement *=.*) par log_min_duration_statement = $db_log_min_duration_statement dans /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.326619 #1] INFO -- : Remplacement de (?-mix:^#local +replication +postgres +peer$) par local replication postgres peer dans /etc/postgresql/10/main/pg_hba.conf
I, [2020-12-13T09:23:51.327039 #1] INFO -- : Remplacement de (?-mix:^host.*all.*all.*127.*$) par host all all 0.0.0.0/0 md5 dans /etc/postgresql/10/main/pg_hba.conf
I, [2020-12-13T09:23:51.327456 #1] INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main
I, [2020-12-13T09:23:51.329156 #1] INFO -- : > sleep 5
2020-12-13 09:23:51.347 UTC [1583] LOG: écoute sur l'adresse IPv4 « 0.0.0.0 », port 5432
2020-12-13 09:23:51.347 UTC [1583] LOG: écoute sur l'adresse IPv6 « :: », port 5432
2020-12-13 09:23:51.349 UTC [1583] LOG: écoute sur le socket Unix « /var/run/postgresql/.s.PGSQL.5432 »
2020-12-13 09:23:51.363 UTC [1583] FATAL: les fichiers de la base de données sont incompatibles avec le serveur
2020-12-13 09:23:51.363 UTC [1583] DETAIL: Le cluster de base de données a été initialisé avec PG_CONTROL_VERSION 1300, mais le serveur a été compilé avec PG_CONTROL_VERSION 1002.
2020-12-13 09:23:51.363 UTC [1583] HINT: Il semble que vous deviez exécuter initdb.
2020-12-13 09:23:51.365 UTC [1583] LOG: le système de base de données est arrêté
I, [2020-12-13T09:23:56.331811 #1] INFO -- :
I, [2020-12-13T09:23:56.332043 #1] INFO -- : > su postgres -c 'createdb discourse' || true
createdb : impossible de se connecter à la base de données template1 : impossible de se connecter au serveur : Aucun fichier ou répertoire
Le serveur est-il en cours d'exécution localement et accepte-t-il
les connexions sur le socket Unix « /var/run/postgresql/.s.PGSQL.5432 » ?
I, [2020-12-13T09:23:56.394383 #1] INFO -- :
I, [2020-12-13T09:23:56.394680 #1] INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
psql : impossible de se connecter au serveur : Aucun fichier ou répertoire
Le serveur est-il en cours d'exécution localement et accepte-t-il
les connexions sur le socket Unix « /var/run/postgresql/.s.PGSQL.5432 » ?
I, [2020-12-13T09:23:56.454155 #1] INFO -- :
I, [2020-12-13T09:23:56.454333 #1] INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
psql : impossible de se connecter au serveur : Aucun fichier ou répertoire
Le serveur est-il en cours d'exécution localement et accepte-t-il
les connexions sur le socket Unix « /var/run/postgresql/.s.PGSQL.5432 » ?
I, [2020-12-13T09:23:56.508933 #1] INFO -- :
I, [2020-12-13T09:23:56.509118 #1] INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
psql : impossible de se connecter au serveur : Aucun fichier ou répertoire
Le serveur est-il en cours d'exécution localement et accepte-t-il
les connexions sur le socket Unix « /var/run/postgresql/.s.PGSQL.5432 » ?
I, [2020-12-13T09:23:56.560843 #1] INFO -- :
I, [2020-12-13T09:23:56.561176 #1] INFO -- : Terminaison des processus asynchrones
ÉCHEC
--------------------
Pups::ExecError : su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' a échoué avec le retour #<Process::Status: pid 1609 exit 2>
Emplacement de l'échec : /pups/lib/pups/exec_command.rb:112:in `spawn'
Échec de l'exécution avec les paramètres "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
da620ae9048b2cda99c7a0d24e38c9dfafba5d61fac8c64c2da2362a19338a76
** ÉCHEC DU BOOTSTRAP ** veuillez faire défiler vers le haut et rechercher les messages d'erreur antérieurs, il peut y en avoir plus d'un.
./discourse-doctor peut aider à diagnostiquer le problème.
Ce point semble me préoccuper :
L’utilisation de Discourse Doctor sur les deux ne semble pas fournir de solutions.