Esegui l'upgrade della versione principale del database eseguendo la migrazione dei dati

Questa pagina descrive come eseguire la migrazione dei dati a un'istanza che esegue una versione successiva di PostgreSQL. Prima di procedere con questo metodo, valuta la possibilità di eseguire l'upgrade in-place della versione principale del database.

Esistono due modi per eseguire l'upgrade della versione principale del database dell'istanza Cloud SQL per PostgreSQL tramite la migrazione dei dati.

  • Opzione 1. Utilizza il Database Migration Service (DMS). DMS supporta la migrazione da un'istanza Cloud SQL per PostgreSQL. Puoi anche utilizzarlo per eseguire l'upgrade della versione del database.
  • Opzione 2. Sposta i dati da una versione di PostgreSQL a un'altra esportando i dati dall'istanza corrente e importandoli in una nuova istanza che esegue la versione successiva di PostgreSQL. Questa procedura comporta tempi di inattività: prima di avviare l'esportazione, devi impostare l'istanza corrente in modalità di sola lettura.

Il resto di questa pagina descrive la seconda opzione.

Pianificare un upgrade della versione principale

  1. Scegli una versione principale di destinazione.

    Consulta l'elenco delle versioni supportate da Cloud SQL.

  2. Valuta le funzionalità offerte in ogni versione di PostgreSQL e risolvi le incompatibilità.

    Le nuove versioni principali introducono modifiche incompatibili che potrebbero richiedere la modifica del codice dell'applicazione, dello schema o delle impostazioni del database prima di poter eseguire l'upgrade dell'istanza del database. Esamina le note di rilascio della versione principale di destinazione per determinare le incompatibilità che devi risolvere. Se salti le versioni principali, risolvi le incompatibilità elencate per ogni versione che stai saltando.

  3. Esegui un test dell'upgrade con un dry run.

    Esegui un'esecuzione di prova della procedura di upgrade end-to-end con un'istanza di test prima di eseguire l'upgrade del database di produzione. Potresti voler testare l'upgrade utilizzando un clone anziché il database di produzione per evitare qualsiasi impatto sulle prestazioni del carico di lavoro di produzione dovuto all' esportazione.

    Oltre a verificare che l'upgrade venga completato correttamente, esegui dei test per comprendere i tempi di inattività previsti dell'upgrade, confermare il flusso di lavoro di upgrade e assicurarti che l'applicazione si comporti come previsto nel database di cui è stato eseguito l'upgrade. Se non hai attivato gli aumenti automatici dello spazio di archiviazione, prendi nota dello spazio di archiviazione su disco utilizzato dall'istanza di prova di cui è stato eseguito l'upgrade per determinare se devi aumentare la capacità di archiviazione dell'istanza di produzione prima di eseguire l'upgrade.

  4. Decidi quando vuoi eseguire l'upgrade.

Migrare i dati

La migrazione comporta l'utilizzo del pg_dump comando per esportare i dati dall'istanza di origine e del pg_restore comando per importare i dati nell'istanza di destinazione.

Per eseguire la migrazione dei dati a un'istanza Cloud SQL che esegue una versione del database più recente:

  1. Crea l'istanza di destinazione con la versione di PostgreSQL desiderata.

    Assicurati che l'istanza di destinazione abbia:

    • Spazio di archiviazione sufficiente per contenere tutti i dati dell'istanza corrente.
    • Le stesse reti autorizzate dell'istanza corrente. Scopri di più.
    • Gli stessi account utente, con gli stessi privilegi e password di PostgreSQL.

    Per ulteriori informazioni, consulta Creare un'istanza.

  2. Verifica di poterti connettere alla nuova istanza con gli strumenti PostgreSQL locali e aggiornarli, se necessario.

  3. Esporta i dati dell'istanza corrente in un file di dump PostgreSQL, seguendo le istruzioni riportate in Esportare i dati da importare in Cloud SQL.

    Non esportare il database di sistema postgres. Il database postgres è il database predefinito a cui ti connetti prima di aver creato altri database. Dopo aver creato un altro database, passa a quest'ultimo per creare tabelle e inserire dati. Non utilizzare il database postgres per i dati dell'applicazione.

  4. Crea un bucket Cloud Storage se necessario, e carica il file di dump SQL nel bucket.

  5. Importa i dati nell'istanza di destinazione, seguendo le istruzioni riportate in Importare database PostgreSQL da Cloud Storage.

  6. (Facoltativo) Al termine della procedura di upgrade, configura la replica tra le istanze di origine e di destinazione utilizzando pglogical per aggiornare la destinazione con tutte le modifiche apportate dall'avvio del dump iniziale. Una volta sincronizzate le due istanze, puoi promuovere l'istanza di destinazione.

    Per informazioni sull'utilizzo di pglogical per implementare la replica continua, consulta Configurare l'origine.

  7. Aggiorna le applicazioni per connetterti alla nuova istanza.

  8. Quando sei certo che la nuova istanza funzioni correttamente, elimina la vecchia istanza.

Passaggi successivi