Ho un database esterno che è alla versione 16.3 e ho un container web_only in cui ho psql (PostgreSQL) 15.12 che genera un errore durante il backup. Come posso risolvere il problema della versione?
Grazie
Potresti inviarmi l’errore qui, formattato in triple backticks (```)?
Grazie!
[2025-05-08 03:32:20] 'system' ha avviato il backup!
[2025-05-08 03:32:20] Marcatura del backup come in esecuzione...
[2025-05-08 03:32:20] Assicurazione che '/var/www/discourse/tmp/backups/default/2025-05-08-033220' esista...
[2025-05-08 03:32:20] Assicurazione che '/var/www/discourse/public/backups/default' esista...
[2025-05-08 03:32:20] Aggiornamento dei metadati...
[2025-05-08 03:32:20] Dump dello schema pubblico del database...
[2025-05-08 03:32:20] pg_dump: errore: interruzione a causa di mancata corrispondenza della versione del server
[2025-05-08 03:32:20] pg_dump: dettaglio: versione del server: 16.3; versione pg_dump: 15.12 (Debian 15.12-1.pgdg120+1)
[2025-05-08 03:32:20] ECCEZIONE: pg_dump fallito
[2025-05-08 03:32:20] /var/www/discourse/lib/backup_restore/backuper.rb:173:in dump_public_schema```
Forse è il fatto che IIRC Discourse supporta fino a Postgres 15?
E forse è anche il fatto che le due versioni del database non sono uguali (una 16 e l’altra 15)?
Sono abbastanza sicuro che il problema sia che hai la versione 16 e Discourse ha gli strumenti PG15. Devi entrare nel container e passare agli strumenti PG16.
La soluzione a lungo termine è aggiungere codice al tuo app.yml che aggiornerà gli strumenti PG quando costruisci un nuovo container.
L’ho fatto per qualcuno un po’ di tempo fa, ma ora non ci lavoro più e non riesco a trovare il mio codice.
Dovresti cercare su Google “come aggiornare a PG16” e poi farlo all’interno del container. Quindi aggiungerai delle cose all’app.yml per farlo quando ricostruirà.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.