[Supporto] Come aggiornare correttamente PostgreSQL con l’avanzamento di Debian?
Ciao, come sapete qualche giorno fa è uscita Debian 12, e sto iniziando a pianificarne l’avanzamento nel VPS che regge la mia istanza.
Fra le varie cose, è previsto l’aggiornamento di PostgreSQL dalla versione 13 alla 15.
Qualcuno ha esperienze in merito su come aggiornare correttamente non solo il pacchetto, ma anche i database in modo che non vadano a gentil dame?
Grazie
Personalmente non ho mai fatto un upgrade di Postgres … ho trovato questo sito sembra fattibile (ps. parla di upgrade dalla 14 alla 15 ma al fondo dice che è applicabile anche dalla 13 alla 15 (tra le altre)
Edit: Altrimenti c’è la manualistica ufficiale (che conferma anche il passaggio dalla 13 alla 15)
@annodamacro Sì, ho dato un’occhiata sia al primo sito linkato che alla documentazione (che ho già spulciato in velocità).
Quel che mi lascia perplesso è che per usare pg_upgrade si devono avere entrambe le versioni di PostgreSQL installate, ma sui repository di debian ce n’è solo una (bullseye ha solo la v13 e bookworm la v15).
Mi sa che a questo punto mi conviene usare il repo ufficiale di postgres per aggiornare prima il database, rimuoverlo e poi procedere all’avanzamento.
Farò delle prove in macchina virtuale.Bè no chiaro devi utilizzare i repo di postgres non quelli debian :) Facci sapere come va, incrocio le dita per te!
deleted by creator
Meno male non era in prod :)
deleted by creator
Nello specifico non ho nemmeno letto il changelog ma la procedura è sempre la stessa. Pianifichi un downtime, chiudi l’accesso al db a tutti tranne che al admin, fai un dump del db e ne fai multipli backup, segui le istruzioni per la migrazione dei dati eventualmente fornita o ti spulci il changelog identificando eventuali breaking changes che impattano sul tuo caso d’uso e ti adoperi per risolverli, aggiorni, ripristini il dump, fai una serie di test completi e, se tutto va bene, riapri l’accesso al DB.
@Edo78 Il punto è che non conosco neanche “la solita procedura”, per quello chiedevo lumi su come muovermi. 😂
Mi sto documentando (come faccio di solito) sulla wiki di arch, ma non so se debian abbia qualche automatismo o che so io che faccia l’upgrade del database in automatico durante l’avanzamento.Il fatto che esistano automazioni, lato OS, per l’aggiornamento da una versione all’altra di un servizio (in questo caso il DB) non implica assolutamente il fatto che l’OS si preoccupi di migrare correttamente i dati. Possono esistere breaking changes nel passaggio tra major versions e sei tu a dover consultare il changelog per valutare se impattino o meno i tuoi dati e un tuo eventuale applicativo. Vista la tua ammissione tenderei a ipotizzare che si tratti di una cosa decisamente amatoriale. Puoi provare a fare un banale backup dei dati, aggiornare il db e vedere se tutto va a buon fine … se va male hai un backup. Se va bene sei a posto. Ovviamente questa è una procedura che in un sistema più professionale andrebbe evitata come la peste
deleted by creator
Trovo rischioso aggiornare la vps se intendi mantenere i servizi attivi. Io di solito ne creo una nuova… Ad ogni modo per postgres farei un bel
pg_dump
e poipg_restore
@inner è quel che ho fatto: ho dumpato i database e cercato di ripristinarli dopo l’aggiornamento di Debian e postgresql. Però non so per quale motivo non è andato a buon fine, e per aggiungere sfiga alla sfiga, si era pure corrotto lo snapshot che mi ero creato proprio in caso di problemi.
Ho dovuto riformattare tutto, così ne ho approfittato per partire subito con una debian 12 pulita e i dump questa volta non hanno avuto problemi di importazione.
Misteri. 🤷