Ciao,
Ho avviato un aggiornamento dopo forse un anno, il che ha portato al passaggio da pg 13 a 15.
Sto provando ad eseguire il comando dato con il mio LC_LANG ma non funziona, ottengo FATAL: data directory “/shared/postgres_data” does not exist. E in effetti non esiste… Qualcuno ha un’idea?
Ho riscontrato lo stesso errore tuo, “/bin/bash: warning: setlocale: LC_ALL: cannot change locale”, quando ho provato il mio launch rebuild app, il che mi ha portato a questo post. Sei riuscito a risolverlo alla fine? I comandi docker run mi hanno solo causato ulteriori problemi, come indicato sopra.
Ho aggiunto una mappatura \-v /var/discourse/shared/standalone:/shared e ora ho fatto un po’ di strada. È strano che non ci sia comunque. Il problema potrebbe essere che la mia “app” è ancora bloccata a una versione da qualche parte nel 2024 e la “ricostruzione” non funziona. Solo un’ipotesi…
Quindi avevo questo nel mio app.yml e funzionava bene:
Intendevo LANG e non LC_LANG. Il problema è che se torno a qualsiasi altra cosa ora è “troppo tardi”. Ho provato en_US.UTF_8 e niente, la ricostruzione fallisce sempre.
Se non hai un backup corrente e non riesci a riavviare il tuo vecchio container, allora passerei al template PG13 e otterrei una configurazione funzionante, poi farei un backup, quindi imposterei un nuovo server e ripristinerei il backup lì. Puoi configurarlo con qualsiasi linguaggio tu voglia quando è un database vuoto e poi eseguire il ripristino (e forse il linguaggio verrà convertito magicamente?).
Il passaggio a un nuovo server assicura che non si blocchi il server esistente.
Purtroppo sono già in uno stato di crash. Ho dei backup ma non posso ripristinarli poiché il cambio di versione è troppo grande e ci sono problemi di dipendenze con le gem. Non posso nemmeno tornare alla vecchia versione poiché il launcher la scarica automaticamente, un po’ triste secondo me.
Con LC_ALL ottengo:
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups.rb
/usr/local/bin/pups --stdin
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (fr_BE.UTF-8)
I, [2025-12-02T15:46:29.638999 #1] INFO -- : Reading from stdin
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/cli.rb:59:in `split': invalid byte sequence in US-ASCII (ArgumentError)
split = conf.split("_FILE_SEPERATOR_")
^^^^^^^^^^^^^^^^^^
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/cli.rb:59:in `run'
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/bin/pups:9:in `<top (required)>'
from /usr/local/bin/pups:25:in `load'
from /usr/local/bin/pups:25:in `<main>'
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
19a63b958021df0ecbc7e21bfea95f1c5ef7b039efd669b5d4af48b05d397a58
Se rimuovo LC_ALL, allora “./launcher rebuild app” si ferma a:
Performing Consistency Checks
Checking cluster versions ok
Checking database user is the install user ok
Checking database connection settings ok
Checking for prepared transactions ok
Checking for system-defined composite types in user tables ok
Checking for reg* data types in user tables ok
Checking for contrib/isn with bigint-passing mismatch ok
Checking for user-defined encoding conversions ok
Checking for user-defined postfix operators ok
Checking for incompatible polymorphic functions ok
Checking for not-null constraint inconsistencies ok
Creating dump of global objects ok
Creating dump of database schemas ok
lc_collate values for database “template1” do not match: old “fr_BE.UTF-8”, new “en_US.UTF-8”
Con la riga docker “manuale” menzionata nel post iniziale, ho anche dovuto collegare le cose in /etc/postgresql a /var/… poiché alcuni file mancavano e alla fine ho ottenuto lo stesso errore di cui sopra.
Proverò una nuova installazione e ripristinerò lì.
Dubito che sia vero che il cambio di versione sia troppo grande. Hai configurato un nuovo server e provato a ripristinare quel backup? Ho ripristinato un backup di diversi anni più vecchio del sito su cui è stato ripristinato. Sono abbastanza sicuro che funzionerà. Sposto siti su nuovi server diverse volte al mese. L’unica volta che ci sono stati problemi è quando c’era un indice corrotto, cosa che non vedo da parecchio tempo.
Hai provato a rinominare postgres_old in postgres_data e
./launcher start app
Oh. Questa è una buona idea! Ecco perché dovrei leggere l’intero post prima di rispondere.
Confermo che anche una nuova installazione si interrompe con LC_ALL impostato, nello stesso modo mostrato sopra (\FILE_SEPERATOR\ …). Tuttavia, senza LC_ALL funziona correttamente.
Sono riuscito a ripristinare il mio salvataggio con una nuova installazione pulita sull’ultimo master, grazie. Risolvere questi problemi rimarrà un mistero…
Ho spostato questo in un nuovo argomento. Se una delle mie risposte è stata la soluzione, per favore contrassegnala come tale per consentire la chiusura automatica.