Stiamo utilizzando Discourse con un database esterno invece di quello integrato basato su Docker. Recentemente abbiamo dovuto aggiornare il nostro cluster Postgres alla versione 14, pertanto il backup di Discourse continua a fallire.
Output del log
[2022-01-17 03:38:08] Dumping the public schema of the database...
[2022-01-17 03:38:08] pg_dump: error: server version: 14.1 (Ubuntu 14.1-1.pgdg18.04+1); pg_dump version: 13.5 (Debian 13.5-1.pgdg100+1)
[2022-01-17 03:38:08] pg_dump: error: aborting because of server version mismatch
[2022-01-17 03:38:08] EXCEPTION: pg_dump failed
C’è un modo per aggiornare il postgresql-client 13.5-1.pgdg100+1 del container alla versione 14?
Aggiorniamo le versioni di Postgres ogni due rilasci, perché l’aggiornamento del database richiede un’enorme quantità di risorse ingegneristiche. Attualmente siamo su Postgres 13, quindi passeremo a Postgres 15.1 quando verrà rilasciato (il rilascio puntuale di correzione bug).
Capisco, ma grazie per aver sottolineato la policy di aggiornamento: è davvero utile saperlo. Siamo consapevoli delle risorse ingegneristiche relative al DB. Amo Postgres, ma l’aggiornamento del nostro cluster di solito ci trasforma in devoti cattolici: molte preghiere in anticipo, ma ancora molto sangue, sudore e lacrime.
Potrebbe causare problemi di dipendenza con le gemme Ruby dell’applicazione stessa? Per quanto ne so, aggiungere apt install come hook richiede una launcher rebuild app, giusto? Se è così, eviterei questo per un altro temuto aggiornamento poiché, come descritto qui in un altro mio argomento, affrontiamo enormi problemi di ricostruzione dell’app in Cina. Questo è il motivo per cui vorrei chiarire se entrare semplicemente nell’app e poi installarla manualmente tramite apt farebbe al caso nostro.
Ti suggerisco di testarlo su un sito di staging prima di fare qualsiasi cosa in produzione, ma penso che non ci saranno problemi con le gem Ruby. Dovrebbe funzionare anche installandolo nel container in esecuzione.
??? ci vuole una quantità enorme di risorse ingegneristiche ???
Sembra che queste semplici righe di comandi per aggiornare il database postgresql da 13.5 a 14.1 risolvano il problema del backup… Saluti
cd /var/discourse
./launcher enter app
sudo apt-get install postgresql