[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

  • annodamacro@feddit.it
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    1 year 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)

    • Cuche@cuche.ccOP
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year 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.

      • annodamacro@feddit.it
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

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

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

  • Edo78@feddit.it
    link
    fedilink
    arrow-up
    3
    ·
    1 year 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.

    • Cuche@cuche.ccOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year 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.

      • Edo78@feddit.it
        link
        fedilink
        arrow-up
        1
        ·
        1 year 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

  • Inner@lemmy.l00p.org
    link
    fedilink
    arrow-up
    1
    ·
    1 year 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

    • Cuche@cuche.ccOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year 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. 🤷