Aggiornamento fallito (postgresql)

L’esecuzione dell’ultimo aggiornamento (incluso PostgreSQL) ha generato un errore:

root@community:/var/discourse# ./launcher rebuild app

Assicurazione che il launcher sia aggiornato

Recupero di origin

Il launcher è aggiornato

Arresto del contenitore precedente

+ /usr/bin/docker stop -t 60 app

app

cd /pups && git pull && /pups/bin/pups --stdin

Già aggiornato.

I, [2020-06-03T15:38:58.391364 #1] INFO -- : Caricamento di --stdin

I, [2020-06-03T15:38:58.398128 #1] INFO -- : > locale-gen $LANG && update-locale

I, [2020-06-03T15:38:58.731357 #1] INFO -- : Generazione delle impostazioni locali (questo potrebbe richiedere del tempo)...

Generazione completata.

I, [2020-06-03T15:38:58.731849 #1] INFO -- : > mkdir -p /shared/postgres_run

I, [2020-06-03T15:38:58.751775 #1] INFO -- : 

I, [2020-06-03T15:38:58.756078 #1] INFO -- : > chown postgres:postgres /shared/postgres_run

I, [2020-06-03T15:38:58.765806 #1] INFO -- : 

I, [2020-06-03T15:38:58.766148 #1] INFO -- : > chmod 775 /shared/postgres_run

I, [2020-06-03T15:38:58.767966 #1] INFO -- : 

I, [2020-06-03T15:38:58.768305 #1] INFO -- : > rm -fr /var/run/postgresql

I, [2020-06-03T15:38:58.770246 #1] INFO -- : 

I, [2020-06-03T15:38:58.770626 #1] INFO -- : > ln -s /shared/postgres_run /var/run/postgresql

I, [2020-06-03T15:38:58.785523 #1] INFO -- : 

I, [2020-06-03T15:38:58.785863 #1] INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres già in esecuzione, arresta il contenitore ; exit 1

2020/06/03 15:38:58 socat[26] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): File o directory non esistente

I, [2020-06-03T15:38:58.911895 #1] INFO -- : 

I, [2020-06-03T15:38:58.912203 #1] INFO -- : > rm -fr /shared/postgres_run/.s*

I, [2020-06-03T15:38:58.914376 #1] INFO -- : 

I, [2020-06-03T15:38:58.914625 #1] INFO -- : > rm -fr /shared/postgres_run/*.pid

I, [2020-06-03T15:38:58.916280 #1] INFO -- : 

I, [2020-06-03T15:38:58.916527 #1] INFO -- : > mkdir -p /shared/postgres_run/12-main.pg_stat_tmp

I, [2020-06-03T15:38:58.917967 #1] INFO -- : 

I, [2020-06-03T15:38:58.918303 #1] INFO -- : > chown postgres:postgres /shared/postgres_run/12-main.pg_stat_tmp

I, [2020-06-03T15:38:58.919709 #1] INFO -- : 

I, [2020-06-03T15:38:58.925728 #1] INFO -- : File > /etc/service/postgres/run chmod: +x chown: 

I, [2020-06-03T15:38:58.928444 #1] INFO -- : File > /etc/service/postgres/log/run chmod: +x chown: 

I, [2020-06-03T15:38:58.931357 #1] INFO -- : File > /etc/runit/3.d/99-postgres chmod: +x chown: 

I, [2020-06-03T15:38:58.934190 #1] INFO -- : File > /root/upgrade_postgres chmod: +x chown: 

I, [2020-06-03T15:38:58.934528 #1] INFO -- : > chown -R root /var/lib/postgresql/12/main

I, [2020-06-03T15:40:44.749613 #1] INFO -- : 

I, [2020-06-03T15:40:44.750250 #1] INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/12/bin/initdb -D /shared/postgres_data || exit 0

I, [2020-06-03T15:40:44.751653 #1] INFO -- : 

I, [2020-06-03T15:40:44.751914 #1] INFO -- : > chown -R postgres:postgres /shared/postgres_data

I, [2020-06-03T15:40:47.940064 #1] INFO -- : 

I, [2020-06-03T15:40:47.940713 #1] INFO -- : > chown -R postgres:postgres /var/run/postgresql

I, [2020-06-03T15:40:47.942521 #1] INFO -- : 

I, [2020-06-03T15:40:47.942924 #1] INFO -- : > /root/upgrade_postgres

initdb: avviso: abilitata l'autenticazione "trust" per le connessioni locali

È possibile modificare questa impostazione modificando pg_hba.conf o utilizzando l'opzione -A, oppure

--auth-local e --auth-host, alla prossima esecuzione di initdb.

debconf: ritardo della configurazione del pacchetto, poiché apt-utils non è installato

I, [2020-06-03T15:42:45.495966 #1] INFO -- : Aggiornamento di PostgreSQL dalla versione 10 alla 12

I file appartenenti a questo sistema di database saranno di proprietà dell'utente "postgres".

Questo utente deve anche essere proprietario del processo server.

Il cluster di database verrà inizializzato con le impostazioni locali "en_US.UTF-8".

La codifica predefinita del database è stata di conseguenza impostata su "UTF8".

La configurazione predefinita della ricerca testuale è stata impostata su "inglese".

I checksum delle pagine di dati sono disabilitati.

Correzione dei permessi sulla directory esistente /shared/postgres_data_new ... ok

Creazione delle sottodirectory ... ok

Selezione dell'implementazione della memoria condivisa dinamica ... posix

Selezione del valore predefinito di max_connections ... 100

Selezione del valore predefinito di shared_buffers ... 128MB

Selezione del fuso orario predefinito ... Etc/UTC

Creazione dei file di configurazione ... ok

Esecuzione dello script di avvio ... ok

Esecuzione dell'inizializzazione post-avvio ... ok

Sincronizzazione dei dati su disco ... ok

Successo. Ora è possibile avviare il server di database utilizzando:

/usr/lib/postgresql/12/bin/pg_ctl -D /shared/postgres_data_new -l logfile start

Get:1 http://security.debian.org/debian-security buster/updates InRelease [65,4 kB]

Hit:2 http://deb.debian.org/debian buster InRelease

Get:3 http://deb.debian.org/debian buster-updates InRelease [49,3 kB]

Get:4 https://deb.nodesource.com/node_10.x buster InRelease [4.584 B]

Get:5 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [84,6 kB]

Get:6 http://security.debian.org/debian-security buster/updates/main amd64 Packages [201 kB]

Get:7 https://deb.nodesource.com/node_10.x buster/main amd64 Packages [768 B]

Get:8 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [171 kB]

Scaricati 577 kB in 1s (698 kB/s)

Lettura dell'elenco dei pacchetti...

Lettura dell'elenco dei pacchetti...

Costruzione dell'albero delle dipendenze...

Lettura delle informazioni sullo stato...

I seguenti pacchetti aggiuntivi saranno installati:

postgresql-client-10

Pacchetti suggeriti:

postgresql-doc-10

I seguenti NUOVI pacchetti saranno installati:

postgresql-10 postgresql-client-10

0 aggiornati, 2 nuovi installati, 0 da rimuovere e 10 non aggiornati.

Necessario scaricare 6.390 kB di archivi.

Dopo questa operazione, saranno 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.13-1.pgdg100+1 [1.428 kB]

Get:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-10 amd64 10.13-1.pgdg100+1 [4.961 kB]

Scaricati 6.390 kB in 0s (38,2 MB/s)

Selezione del pacchetto postgresql-client-10 precedentemente non selezionato.

(Lettura del database ... 43929 file e directory attualmente installati.)

Preparazione per lo smontaggio di .../postgresql-client-10_10.13-1.pgdg100+1_amd64.deb ...

Smontaggio di postgresql-client-10 (10.13-1.pgdg100+1) ...

Selezione del pacchetto postgresql-10 precedentemente non selezionato.

Preparazione per lo smontaggio di .../postgresql-10_10.13-1.pgdg100+1_amd64.deb ...

Smontaggio di postgresql-10 (10.13-1.pgdg100+1) ...

Configurazione di postgresql-client-10 (10.13-1.pgdg100+1) ...

update-alternatives: avviso: forzatura della reinstallazione dell'alternativa /usr/share/postgresql/12/man/man1/psql.1.gz perché il gruppo di collegamenti psql.1.gz è rotto

Configurazione di postgresql-10 (10.13-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 essere proprietario del processo server.

Il cluster di database verrà inizializzato con le impostazioni locali "C.UTF-8".

La codifica predefinita del database è stata di conseguenza impostata su "UTF8".

La configurazione predefinita della ricerca testuale è stata 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 del valore predefinito di max_connections ... 100

Selezione del valore predefinito di shared_buffers ... 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 avvio ... ok

Esecuzione dell'inizializzazione post-avvio ... ok

Sincronizzazione dei dati su disco ... ok

Successo. Ora è possibile avviare il server di database utilizzando:

pg_ctlcluster 10 main start

Avviso: La directory stats_temp_directory selezionata /var/run/postgresql/10-main.pg_stat_tmp

non è scrivibile per il proprietario del cluster. Questa impostazione non verrà aggiunta in

postgresql.conf.

Ver Cluster Port Status Owner Data directory Log file

10 main 5433 down postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log

update-alternatives: avviso: forzatura della reinstallazione dell'alternativa /usr/share/postgresql/12/man/man1/postmaster.1.gz perché il gruppo di collegamenti postmaster.1.gz è rotto

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 (213.pgdg100+1) ...

Creazione dei dizionari PostgreSQL dai pacchetti myspell/hunspell installati...

Rimozione dei file di dizionario obsoleti:

Arresto del server di database PostgreSQL 10: main.

Arresto del server di database PostgreSQL 12: main.

Esecuzione dei controlli di coerenza

-----------------------------

Controllo delle versioni dei cluster ok

Il cluster di origine non è stato arrestato correttamente.

Errore, uscita

-------------------------------------------------------------------------------------

AGGIORNAMENTO DI POSTGRES FALLITO

Si prega di visitare https://meta.discourse.org/t/postgresql-12-update/151236 per ottenere supporto

Nel frattempo è possibile eseguire ./launcher start app per riavviare la propria applicazione

FALLITO

--------------------

Pups::ExecError: /root/upgrade_postgres è fallito con il codice di ritorno #<Process::Status: pid 45 exit 1>

Posizione dell'errore: /pups/lib/pups/exec_command.rb:112:in `spawn'

exec è fallito con i parametri "/root/upgrade_postgres"

674042fc06e2af0c08a0a09c46406a0b18b1f08b9140e037fffe1053188bd1c0

** AVVIO FALLITO ** si prega di scorrere verso l'alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno.

./discourse-doctor può aiutare a diagnosticare il problema.

root@community:/var/discourse#

Ha qualche idea sul motivo?

Hai letto questo post?

Sì, l’ho già fatto. Non siamo riusciti a far funzionare l’aggiornamento.

Leggi l’intera sezione FAQ qui:

Ho già provato la soluzione alternativa, ma non ha funzionato.

Il log è pieno di:

2020-06-03 16:01:21.074 UTC [693] FATAL: la directory dei dati “/shared/postgres_data” ha un proprietario errato
2020-06-03 16:01:21.074 UTC [693] HINT: Il server deve essere avviato dall’utente che possiede la directory dei dati.

Dopo aver effettuato l’accesso al contenitore, ho provato a spegnerlo manualmente:

root@community-app:/etc/postgresql/10/main# service postgresql stop

[FAIL] Arresto del server di database PostgreSQL 10: main[…] Errore: il proprietario della configurazione (postgres:106) e il proprietario dei dati (Debian-exim:105) non coincidono, e il proprietario della configurazione non è root … fallito!

fallito!

Eseguire chown -R postgres postgres_data in /shared dopo aver accesso al container Docker ha risolto il problema.