[Supporto] Come aggiornare correttamente PostgreSQL con l'avanzamento di Debian?

3 years ago by Cuche to c/informatica

[Supporto] Come aggiornare correttamente PostgreSQL con l'avanzamento di Debian?

@informatica

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

Edo78 3 points 3 years ago

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.

path: 0 125498, hotness: undefined, score: 3, children: 2
mike 1 point 3 years ago

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

path: 0 125498 136065, hotness: undefined, score: 1, children: 1
Edo78 1 point 3 years ago

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

path: 0 125498 136065 162354, hotness: undefined, score: 1, children: 0
annodamacro 3 points 3 years ago

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)

path: 0 170411, hotness: undefined, score: 3, children: 5
mike 1 point 3 years ago

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

path: 0 170411 177161, hotness: undefined, score: 1, children: 4
annodamacro 2 points 3 years ago

Bè no chiaro devi utilizzare i repo di postgres non quelli debian :) Facci sapere come va, incrocio le dita per te!

path: 0 170411 177161 210582, hotness: undefined, score: 2, children: 3
cuche 1 point 3 years ago

@annodamacro è andata che il VPS è andato a troie.
Ho aggiornato a Debian 12 mantenendo Postgresql 13 e fin qui nessun problema.
Ho creato uno snapshot tramite il pannello di OVH e ho provato ad aggiornare Postgresql ed il database. Purtroppo non è andato a buon fine e sono andato a ripristinare lo snapshot. Che non so per quale motivo era corrotto ed ora il VPS ora non è più avviabile.
Che culo.

path: 0 170411 177161 210582 346329, hotness: undefined, score: 1, children: 2
annodamacro 1 point 3 years ago

Meno male non era in prod :)

path: 0 170411 177161 210582 346329 347825, hotness: undefined, score: 1, children: 1
gmg 2 points 3 years ago

Perché andare su archwiki invece che alla fonte? https://www.postgresql.org/docs/15/upgrading.html

Personalmente non ho mai fatto l'upgrade di postgres (ho sempre preferito metter su un altro server e importarci i dati, in modo da poter testare le cose, avere meno downtime e lasciare le porte aperte per un rollback se qualcosa andasse storto), quindi non posso dire con assoluta certezza, ma... mi pare che pg_upgrade sia ben documentato e abbastanza semplice da usare? Al posto tuo farei comunque un backup prima di partire :)

path: 0 249152, hotness: undefined, score: 2, children: 0
inner 1 point 3 years ago

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 poi pg_restore

path: 0 571128, hotness: undefined, score: 1, children: 1
mike 1 point 3 years ago

@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. 🤷

path: 0 571128 599379, hotness: undefined, score: 1, children: 0
informatica
informatica

@feddit.it

login for more options
1908
5505
77

Ecco finalmente la comunità italiana Lemmy dedicata all'informatica!

Questo è il luogo in cui condividere post sul mondo dell'informatica: notizie su hardware e software, cybersecurity, cyberwarfare, hacking, nuovi prodotti, data breach!

Ricordiamo che esistono anche alcune comunità che si occupano di argomenti più specifici, quali:

Regole della comunità:

🏳️‍🌈 chiediamo educazione e rispetto per gli altri

🎃 anche se ci chiamiamo "Informatica" non banniamo gli utenti a caso 😁

🚫 trolling, shitposting e molestie sono vietati

💲 è vietato superare il confine che separa l'informazione dalla pubblicità

🔊 evitiamo il clickbait e il sensazionalismo

📖 per il resto valgono le regole dell'istanza al link https://feddit.it/post/6

#informatica #tecnologia #cybersecurity #technology #italian #fedi22 #gruppi #forum

go to feed...