Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive come ripristinare un server di Azure PostgreSQL-Flexible come backup di File usando il portale di Azure.
Prerequisiti
Prima di eseguire il ripristino dai backup del server flessibile di Database di Azure per PostgreSQL, esaminare i prerequisiti seguenti:
Assicurarsi di disporre delle autorizzazioni necessarie per l'operazione di ripristino.
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.
Assicurarsi che l'account di archiviazione di destinazione per il ripristino del backup come file sia accessibile tramite una rete pubblica. Se l'account di archiviazione usa un endpoint privato, aggiornare le impostazioni di accesso alla rete pubblica prima di eseguire un'operazione di ripristino.
Ripristino di Azure PostgreSQL - Backup del server flessibile come file
Annotazioni
L'operazione di ripristino è un processo in due passaggi:
- Ripristinare il backup dall'insieme di credenziali di backup a un contenitore di archiviazione.
- Ripristinare i file di backup dal contenitore di archiviazione a un server flessibile nuovo o esistente.
Per ripristinare il database di Azure PostgreSQL-Flexible, seguire questa procedura:
Passare a Insieme di credenziali di Backup>Istanze di Backup. Selezionare il server PostgreSQL - Flessibile da ripristinare e selezionare Ripristina.
In alternativa, passare a Centro Backup e selezionare Ripristina.
Selezionare il punto nel tempo da ripristinare usando Seleziona punto di ripristino. Modificare l'intervallo di date selezionando Periodo di tempo.
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.
Se l’esito della convalida è positivo, selezionare Revisione + ripristino.
Dopo la revisione finale dei parametri, selezionare Ripristina per ripristinare il backup del server flessibile PostgreSQL selezionato nell'account di archiviazione di destinazione.
Inviare l'operazione di ripristino e tenere traccia del processo attivato in Processi di Backup.
Al termine del processo di ripristino, passare al contenitore dell'account di archiviazione per visualizzare i database ripristinati come file (.sql file) da PostgreSQL - Server flessibile. Backup di Azure genera anche i file di backup seguenti:
Database.sql fileper database: contiene dati e informazioni sullo schema per un database specifico.Roles.sql filesper l'intera istanza: contiene tutte le informazioni sul ruolo esistenti a livello di server.Tablespace.sql file: file spazio di tabella.Schema.sql file: contiene informazioni sullo schema per tutti i database nel server.Annotazioni
È consigliabile non eseguire questo script nel server PostgreSQL - Flessibile perché lo schema fa già parte dello
database.sqlscript.
Ripristinare i file di backup dal contenitore di archiviazione a un server flessibile PostgreSQL nuovo o esistente
Per ripristinare i file di backup dal contenitore di archiviazione a un server flessibile PostgreSQL nuovo o esistente, seguire questa procedura:
Assicurarsi che tutte le estensioni necessarie siano abilitate nel nuovo server flessibile di destinazione.
Trovare la corrispondenza con i valori dei parametri del server dal database PostgreSQL di origine al Database di Azure per PostgreSQL accedendo alla sezione Parametri del server nel portale di Azure e aggiornando manualmente i valori di conseguenza. Salvare le modifiche al parametro e quindi riavviare il server flessibile di Database di Azure per PostgreSQL per applicare la nuova configurazione.
Se è necessaria l'autenticazione di Microsoft Entra nel nuovo server, abilitarla e creare gli amministratori di Microsoft Entra pertinenti.
Creare un nuovo database per il ripristino.
Annotazioni
Prima del ripristino del database, è necessario creare un nuovo database vuoto. Assicurarsi che l'account utente disponga dell'autorizzazione
CREATEDB.Per creare il database, usare il
CREATE DATABASE Database_namecomando .Ripristinare il database usando
database.sql filecome utente amministratore di destinazione.Dopo aver creato il database di destinazione, scaricare il file di dump da un account di archiviazione di Azure eseguendo il comando seguente:
az storage blob download --container-name <container-name> --name <blob-name> --account-name <storage-account-name> --account-key <storage-account-key> --file <file-name>Ripristinare quindi i dati in questo database dal file di dump eseguendo il comando seguente:
pg_restore -h <postgres-server-url> -p <port> -U <username> -d <database-name> --no-owner -v <File Name>-
--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: il formato della directory. -
-j: il numero di processi. -
-C: iniziare l'output con un comando per creare il database stesso e quindi riconnettersi a tale database.
Annotazioni
Se il comando non viene eseguito come previsto, specificare il percorso completo del file anziché usare solo il nome del file.
In alternativa, è possibile scaricare il file di backup ed eseguire direttamente il ripristino.
-
Ripristinare solo i ruoli e i privilegi necessari e ignorare gli errori comuni. Ignorare questo passaggio se si esegue il ripristino per i requisiti di conformità e il recupero dei dati, come amministratore locale.
Ripristinare ruoli e utenti per i database ripristinati
I backup archiviati vengono ripristinati principalmente per esigenze di conformità, ad esempio test e verifiche. È possibile accedere come amministratore locale e ripristinare utilizzando il file database.sql; non sono necessari altri ruoli per il ripristino dei dati.
Per altri usi come la protezione per l'eliminazione accidentale o il ripristino di emergenza, assicurarsi che i ruoli necessari vengano creati in base alle esigenze dell'organizzazione. Evitare duplicazioni tra roles.sql e database.sql.
- Ripristinare lo stesso server flessibile: il ripristino del ruolo potrebbe non essere necessario.
-
Ripristino in un server flessibile diverso: usare il
roles.sqlfile per ricreare i ruoli necessari.
Quando si esegue il ripristino da roles.sql, alcuni ruoli o attributi potrebbero non essere validi per il nuovo server di destinazione.
Per gli ambienti con accesso con privilegi avanzati (locali o macchine virtuali), è possibile eseguire tutti i comandi senza problemi.
Considerazioni chiave per lo scenario del server flessibile
Ecco le considerazioni principali:
-
Rimuovi attributi Superuser-Only: nel server flessibile non sono presenti privilegi di utente con privilegi avanzati. Rimuovere quindi gli attributi, ad esempio
NOSUPERUSEReNOBYPASSRLSdal dump dei ruoli. -
Escludere Service-Specific Utenti: Escludere utenti specifici per i servizi server flessibili (
azure_su,azure_pg_admin,replication,localadmin,Entra Admin). Questi ruoli specifici del servizio vengono ricreati automaticamente quando gli amministratori vengono aggiunti al nuovo server flessibile.
Prima di ripristinare gli oggetti di database, assicurarsi di eseguire correttamente il dump e la pulizia dei ruoli. Per eseguire questa azione, scaricare lo roles.sqlscript dal contenitore di archiviazione e creare tutti gli account di accesso necessari.
- Creare ruoli Non-Entra: usare un account amministratore locale per eseguire gli script di creazione del ruolo.
- Creare ruoli di Microsoft Entra: se è necessario creare ruoli per gli utenti di Microsoft Entra, usare un account amministratore di Microsoft Entra per eseguire gli script necessari.
È possibile scaricare lo script dei ruoli dall'account di archiviazione, come illustrato nello screenshot seguente:
Quando si esegue la migrazione del file di output, roles.sql potrebbe includere determinati ruoli e attributi non applicabili nel nuovo ambiente. È necessario considerare quanto segue:
- Rimozione di attributi che possono essere impostati solo dagli utenti con privilegi avanzati: se si esegue la migrazione a un ambiente in cui non si hanno privilegi con privilegi avanzati, rimuovere attributi come NOSUPERUSER e NOBYPASSRLS dal dump dei ruoli.
-
Esclusione di utenti specifici del servizio: escludere gli utenti del servizio server singolo, ad esempio
azure_superuseroazure_pg_admin. Sono specifici del servizio e vengono creati automaticamente nel nuovo ambiente.
Usare il comando sed seguente per pulire il dump dei ruoli:
sed -i '/azure_superuser/d; /azure_pg_admin/d; /azuresu/d; /^CREATE ROLE replication/d; /^ALTER ROLE replication/d; /^ALTER ROLE/ {s/NOSUPERUSER//; s/NOBYPASSRLS//;}' roles.sql
Il comando elimina le righe che contengono azure_superuser, azure_pg_admin, azuresu; le righe che iniziano con CREATE ROLE replicazione e ALTER ROLE replicazione; e rimuove gli attributi NOSUPERUSER e NOBYPASSRLS dalle istruzioni ALTER ROLE.
Passaggi successivi
Gestire il backup di Azure PostgreSQL - Server flessibile tramite il portale di Azure.