Errore di backup fallito

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à.

2 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.