Ripristinare backup flessibili del database di Azure per PostgreSQL (anteprima)

Questo articolo illustra come ripristinare un server flessibile PostgreSQL di Azure di cui è stato eseguito un backup tramite Backup di Azure.

Prerequisiti

  1. Prima di eseguire il ripristino dai backup del server flessibile di Database di Azure per PostgreSQL, assicurarsi di disporre delle autorizzazioni necessarie per l'operazione di ripristino.

  2. I dati di backup vengono archiviati nell'insieme di credenziali di backup come BLOB all'interno del tenant Microsoft. Durante un'operazione di ripristino, i dati di backup sono copiati da un account di archiviazione a un altro tra i tenant. Verificare che l'account di archiviazione di destinazione per il ripristino abbia la proprietà AllowCrossTenantReplication impostata su true.

Ripristinare un database flessibile PostgreSQL di Azure

Seguire questa procedura:

  1. Passare a Insieme di credenziali di Backup>Istanze di Backup. Selezionare il server flessibile PostgreSQL da ripristinare, quindi selezionare Ripristina.

    Screenshot che mostra come ripristinare un database.

    In alternativa, passare a Centro Backup e selezionare Ripristina.

  2. Selezionare il punto nel tempo da ripristinare usando Seleziona punto di ripristino. Modificare l'intervallo di date selezionando Periodo di tempo.

    Screenshot che mostra il processo per selezionare un punto di ripristino.

  3. Scegliere l'account di archiviazione di destinazione e il contenitore nella scheda Parametri di ripristino. Selezionare Convalida per controllare le autorizzazioni dei parametri di ripristino prima della revisione e del ripristino finale.

  4. Se l’esito della convalida è positivo, selezionare Revisione + ripristino. Screenshot che mostra il processo di ripristino dei parametri.

  5. Dopo la revisione finale dei parametri, selezionare Ripristina per ripristinare il backup del server flessibile PostgreSQL selezionato nell'account di archiviazione di destinazione. Screenshot che mostra la pagina del processo di revisione.

  6. Inviare l'operazione di ripristino e tenere traccia del processo attivato in Processi di Backup. Screenshot che mostra la pagina del processo di convalida.

  7. Al termine del processo, i dati di backup vengono ripristinati nell'account di archiviazione. Di seguito è riportato il set di file recuperati nell'account di archiviazione dopo il ripristino:

    • Il primo file è un file marcatore o timestamp che fornisce al cliente l’orario in cui è stato eseguito il backup. Il file non può essere ripristinato, ma se aperto con un editor di testo deve indicare al cliente l'ora UTC in cui è stato eseguito il backup.

    • Il secondo database file è un backup di database singolo per il database denominato tempdata2 eseguito usando pg_dump. Ogni database presenta un file separato con formato : {backup_name}database{db_name}.sql

    • Il terzo file _roles. Dispone dei ruoli di cui è stato eseguito il backup tramite pg_dumpall

    • Il quarto file _schemas. backup con pg_dumpall

    • Il quinto file _tablespaces. Presenta il backup degli spazi di tabella usando pg_dumpall

  8. Dopo il completamento del ripristino nell'account di archiviazione di destinazione, è possibile usare pg_restore utilità per ripristinare il database e altri file in un server flessibile PostgreSQL. Usare il comando seguente per connettersi a un server flessibile postgresql esistente e a un database esistente

    az storage blob download --container-name <container-name> --name <blob-name> --account-name <storage-account-name> --account-key <storage-account-key> --file - | pg_restore -h <postgres-server-url> -p <port> -U <username> -d <database-name> -v -

    • --account-name: nome dell'account di archiviazione di destinazione.
    • --container-name: nome del contenitore BLOB.
    • --blob-name: nome del BLOB.
    • --account-key: chiave dell'account di archiviazione.
    • -Fd: formato della directory.
    • -j: numero di processi.
    • -C: iniziare l'output con un comando per creare il database stesso e quindi riconnettersi.

    Se sono presenti più database da ripristinare, eseguire di nuovo il comando precedente per ogni database.

    Inoltre, usando più processi simultanei -j, è possibile ridurre il tempo necessario per ripristinare un database di grandi dimensioni in un server di destinazione multi-vCore. Il numero di processi può essere uguale o minore al numero di vCPU allocati per il server di destinazione.

  9. Per ripristinare gli altri tre file (ruoli, schemi e spazi di tabella), usare l'utilità psql per ripristinarli in un server flessibile PostgreSQL.

    az storage blob download --container-name <container-name> --name <blob-name> --account-name <storage-account-name> --account-key <storage-account-key> --file - | psql -h <hostname> -U <username> -d <db name> -f <dump directory> -v -

    Eseguire di nuovo il comando precedente per ogni file.

Passaggi successivi

Matrice di supporto per il backup del database flessibile PostgreSQL usando Backup di Azure.