Problema con l'aggiornamento all'ultima versione

Ciao, sto cercando di aggiornare Discourse all’ultima versione.

FALLITO
--------------------
Pups::ExecError: /root/upgrade_postgres è fallito con return #<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"
1cafe54cd6661316d8e9e393c54f73ab89bc3f5e70e104f6c5e4f8794053c09c
** FALLIMENTO DELL'AVVIO ** scorri verso l'alto e cerca messaggi di errore precedenti; potrebbero essercene più di uno.
./discourse-doctor potrebbe aiutare a diagnosticare il problema.

Inoltre

 Riuscito. Ora puoi avviare il server del database usando:

    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 Porta Stato Owner    Directory dati              File log
10  main    5433 spento   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 dell'avvio.
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 del database PostgreSQL 10: main.
Arresto del server del database PostgreSQL 12: main.
Esecuzione dei controlli di coerenza
-----------------------------
Controllo delle versioni del cluster                                   ok

Il cluster sorgente non è stato arrestato correttamente.
Errore, uscita

Output del comando tail -f shared/standalone/log/var-log/postgres/current:

2020-06-14 01:37:02.155 UTC [3508] FATAL: la directory dei dati "/shared/postgres_data" ha la proprietà errata
2020-06-14 01:37:02.155 UTC [3508] HINT: Il server deve essere avviato dall'utente che possiede la directory dei dati.

Posticipare l’aggiornamento

Se devi posticipare l’aggiornamento durante il prossimo rebuild, puoi sostituire il template PostgreSQL nel tuo file app.yml modificando "templates/postgres.template.yml" in "templates/postgres.10.template.yml" .

Questo non è consigliato, poiché alcuni amministratori del sito potrebbero dimenticare di ripristinare la modifica in seguito.

Ho applicato questa soluzione e il forum Discourse è ora online. Cosa possiamo fare ora? Attualmente sto usando “templates/postgres.10.template.yml”

Hai qualche idea? Sto ancora usando “templates/postgres.10.template.yml”.

Prova quanto segue:

  1. Modifica app.yml e cambia "templates/postgres.10.template.yml" in "templates/postgres.template.yml".

  2. Esegui uno stop: ./launcher stop app

  3. Prova a ricostruire: ./launcher rebuild app

Aggiornamento Completato
----------------
Le statistiche dell'ottimizzatore non vengono trasferite da pg_upgrade, quindi,
una volta avviato il nuovo server, si consiglia di eseguire:
    ./analyze_new_cluster.sh

L'esecuzione di questo script cancellerà i file di dati del vecchio cluster:
    ./delete_old_cluster.sh
-------------------------------------------------------------------------------------
AGGIORNAMENTO DI POSTGRES COMPLETATO

Il vecchio database 10 è memorizzato in /shared/postgres_data_old

Per completare l'aggiornamento, esegui di nuovo la ricompilazione utilizzando:

./launcher rebuild app

Il forum Discourse è attualmente offline.

Sto tentando di eseguire di nuovo ./launcher rebuild app come indicato sopra.

Sì, è previsto.

Sì, segui le istruzioni e dovrebbe essere di nuovo operativo a breve.

Interessante e fantastico, ora l’aggiornamento è stato completato con successo. Ho provato più volte allo stesso modo in passato, ma non è mai successo.

Devo utilizzare i seguenti comandi per liberare spazio?

Le statistiche dell'ottimizzatore non vengono trasferite da pg_upgrade, quindi,
una volta avviato il nuovo server, valuta l'esecuzione di:
    ./analyze_new_cluster.sh

Eseguendo questo script verranno eliminati i file di dati del vecchio cluster:
    ./delete_old_cluster.sh

Grazie!

Puoi eseguire le attività opzionali di aggiornamento del post elencate nella nostra FAQ.

Splendido. Grazie ancora!