L’ho appena provato – ha richiesto un po’ di aggiustamenti.
Il nuovo sistema non lo gradisce, praticamente rifiuta il database a bruciapelo.
Launcher aggiornato
Arresto del vecchio contenitore
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && /pups/bin/pups --stdin
Già aggiornato.
I, [2020-12-13T09:23:39.291334 #1] INFO -- : Caricamento di --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 -- : Lettura delle liste dei pacchetti...
Costruzione dell'albero delle dipendenze...
Lettura delle informazioni sullo stato...
I seguenti pacchetti sono stati installati automaticamente e non sono più necessari:
libllvm7 pgdg-keyring postgresql-client-common postgresql-common ssl-cert
Usa 'apt autoremove' per rimuoverli.
I seguenti pacchetti verranno RIMOSSI:
postgresql-13* postgresql-client-13*
0 aggiornati, 0 installati di nuovi, 2 da rimuovere e 0 non aggiornati.
Dopo questa operazione, verranno liberati 54,3 MB di spazio su disco.
(Lettura del database ... 43863 file e directory attualmente installati.)
Rimozione di postgresql-13 (13.1-1.pgdg100+1) ...
invoke-rc.d: impossibile determinare il livello di esecuzione corrente
invoke-rc.d: policy-rc.d ha negato l'esecuzione di stop.
Rimozione di postgresql-client-13 (13.1-1.pgdg100+1) ...
Elaborazione dei trigger per postgresql-common (223.pgdg100+1) ...
Costruzione dei dizionari PostgreSQL dai pacchetti myspell/hunspell installati...
Rimozione dei file di dizionario obsoleti:
(Lettura del database ... 42050 file e directory attualmente installati.)
Pulizia dei file di configurazione per postgresql-13 (13.1-1.pgdg100+1) ...
Eliminazione del 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: ritardo nella configurazione del pacchetto, poiché apt-utils non è installato
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]
Scaricati 690 kB in 1s (525 kB/s)
Lettura delle liste dei pacchetti...
Lettura delle liste dei pacchetti...
Costruzione dell'albero delle dipendenze...
Lettura delle informazioni sullo stato...
Il seguente pacchetto è stato installato automaticamente e non è più necessario:
libllvm7
Usa 'apt autoremove' per rimuoverlo.
Suggerimenti:
postgresql-doc-10
I seguenti NUOVI pacchetti verranno installati:
postgresql-10 postgresql-client-10
0 aggiornati, 2 installati di nuovi, 0 da rimuovere e 5 non aggiornati.
Occorrono 6.402 kB di archivi.
Dopo questa operazione, verranno utilizzati 30,6 MB di spazio su disco aggiuntivo.
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]
Scaricati 6.402 kB in 2s (2.809 kB/s)
Selezione del pacchetto precedentemente non selezionato postgresql-client-10.
(Lettura del database ... 42050 file e directory attualmente installati.)
Preparazione allo sblocco di .../postgresql-client-10_10.15-1.pgdg100+1_amd64.deb ...
Sblocco di postgresql-client-10 (10.15-1.pgdg100+1) ...
Selezione del pacchetto precedentemente non selezionato postgresql-10.
Preparazione allo sblocco di .../postgresql-10_10.15-1.pgdg100+1_amd64.deb ...
Sblocco di postgresql-10 (10.15-1.pgdg100+1) ...
Configurazione di postgresql-client-10 (10.15-1.pgdg100+1) ...
update-alternatives: uso di /usr/share/postgresql/10/man/man1/psql.1.gz per fornire /usr/share/man/man1/psql.1.gz (psql.1.gz) in modalità automatica
Configurazione di postgresql-10 (10.15-1.pgdg100+1) ...
Creazione del nuovo cluster PostgreSQL 10/main ...
/usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/10/main --auth-local peer --auth-host md5
I file appartenenti a questo sistema di database saranno di proprietà dell'utente "postgres".
Questo utente deve anche possedere il processo server.
Il cluster di database verrà inizializzato con la localizzazione "C.UTF-8".
La codifica predefinita del database è stata di conseguenza impostata su "UTF8".
La configurazione predefinita di ricerca testuale sarà impostata su "inglese".
I checksum delle pagine di dati sono disabilitati.
Correzione dei permessi sulla directory esistente /var/lib/postgresql/10/main ... ok
Creazione delle sottodirectory ... ok
Selezione di max_connections predefinito ... 100
Selezione di shared_buffers predefinito ... 128MB
Selezione del fuso orario predefinito ... Etc/UTC
Selezione dell'implementazione della memoria condivisa dinamica ... posix
Creazione dei file di configurazione ... ok
Esecuzione dello script di bootstrap ... ok
Esecuzione dell'inizializzazione post-bootstrap ... ok
Sincronizzazione dei dati su disco ... ok
Riuscito. Ora puoi avviare il server di database usando:
pg_ctlcluster 10 main start
Ver Cluster Port Status Owner Data directory Log file
10 main 5432 down postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
update-alternatives: uso di /usr/share/postgresql/10/man/man1/postmaster.1.gz per fornire /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in modalità automatica
invoke-rc.d: impossibile determinare il livello di esecuzione corrente
invoke-rc.d: policy-rc.d ha negato l'esecuzione di start.
Elaborazione dei trigger per postgresql-common (223.pgdg100+1) ...
Costruzione dei dizionari PostgreSQL dai pacchetti myspell/hunspell installati...
Rimozione dei file di dizionario obsoleti:
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 già in esecuzione stop container ; exit 1
2020/12/13 09:23:51 socat[1567] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): File o directory non esistente
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 -- : File > /etc/service/postgres/run chmod: +x chown:
I, [2020-12-13T09:23:51.237345 #1] INFO -- : File > /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 -- : Sostituzione di data_directory = '/var/lib/postgresql/10/main' con data_directory = '/shared/postgres_data' in /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.319171 #1] INFO -- : Sostituzione di (?-mix:#?listen_addresses *=.*) con listen_addresses = '*' in /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.319652 #1] INFO -- : Sostituzione di (?-mix:#?synchronous_commit *=.*) con synchronous_commit = $db_synchronous_commit in /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.320131 #1] INFO -- : Sostituzione di (?-mix:#?shared_buffers *=.*) con shared_buffers = $db_shared_buffers in /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.320672 #1] INFO -- : Sostituzione di (?-mix:#?work_mem *=.*) con work_mem = $db_work_mem in /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.321143 #1] INFO -- : Sostituzione di (?-mix:#?default_text_search_config *=.*) con default_text_search_config = '$db_default_text_search_config' in /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 -- : Sostituzione di (?-mix:#?checkpoint_segments *=.*) con checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.325597 #1] INFO -- : Sostituzione di (?-mix:#?logging_collector *=.*) con logging_collector = $db_logging_collector in /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.326097 #1] INFO -- : Sostituzione di (?-mix:#?log_min_duration_statement *=.*) con log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/10/main/postgresql.conf
I, [2020-12-13T09:23:51.326619 #1] INFO -- : Sostituzione di (?-mix:^#local +replication +postgres +peer$) con local replication postgres peer in /etc/postgresql/10/main/pg_hba.conf
I, [2020-12-13T09:23:51.327039 #1] INFO -- : Sostituzione di (?-mix:^host.*all.*all.*127.*$) con host all all 0.0.0.0/0 md5 in /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: in ascolto sull'indirizzo IPv4 "0.0.0.0", porta 5432
2020-12-13 09:23:51.347 UTC [1583] LOG: in ascolto sull'indirizzo IPv6 "::", porta 5432
2020-12-13 09:23:51.349 UTC [1583] LOG: in ascolto sul socket Unix "/var/run/postgresql/.s.PGSQL.5432"
2020-12-13 09:23:51.363 UTC [1583] FATAL: i file del database sono incompatibili con il server
2020-12-13 09:23:51.363 UTC [1583] DETAIL: Il cluster di database è stato inizializzato con PG_CONTROL_VERSION 1300, ma il server è stato compilato con PG_CONTROL_VERSION 1002.
2020-12-13 09:23:51.363 UTC [1583] HINT: Sembra che sia necessario eseguire initdb.
2020-12-13 09:23:51.365 UTC [1583] LOG: il sistema di database è stato spento
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: impossibile connettersi al database template1: impossibile connettersi al server: File o directory non esistente
Il server è in esecuzione localmente e accetta
connessioni sul 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: impossibile connettersi al server: File o directory non esistente
Il server è in esecuzione localmente e accetta
connessioni sul 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: impossibile connettersi al server: File o directory non esistente
Il server è in esecuzione localmente e accetta
connessioni sul 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: impossibile connettersi al server: File o directory non esistente
Il server è in esecuzione localmente e accetta
connessioni sul 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 -- : Terminazione dei processi asincroni
FALLITO
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' fallito con ritorno #<Process::Status: pid 1609 exit 2>
Posizione dell'errore: /pups/lib/pups/exec_command.rb:112:in `spawn'
esecuzione fallita con i parametri "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
da620ae9048b2cda99c7a0d24e38c9dfafba5d61fac8c64c2da2362a19338a76
** FALLITO L'AVVIO ** scorri verso l'alto e cerca i messaggi di errore precedenti, potrebbero essercene più di uno.
./discourse-doctor potrebbe aiutare a diagnosticare il problema.
Questa parte mi sembra preoccupante:
L’uso di Discourse Doctor su entrambi non sembra offrire soluzioni.