Poiché AlloyDB Omni è compatibile con PostgreSQL, i comandi e le tecniche di ripristino dei dati descritti nel manuale di pgBackRest si applicano anche ad AlloyDB Omni. Questa pagina mostra una selezione di attività di recupero comuni, con esempi di comandi pertinenti.
Per ulteriori informazioni sulla configurazione di pgBackRest per l'utilizzo con AlloyDB Omni, consulta Configurare pgBackRest per AlloyDB Omni.
Prima di iniziare
Prima di configurare AlloyDB Omni per funzionare con pgBackrest, devi installare ed eseguire AlloyDB Omni su un server che controlli.
Un server di database di destinazione che esegue la stessa versione principale di AlloyDB Omni del server di database di origine. Per saperne di più sull'installazione di AlloyDB Omni, consulta Installa AlloyDB Omni.
Il server di destinazione può essere la stessa macchina del server di origine.
Un repository di backup pgBackRest contenente almeno un backup del database AlloyDB Omni di origine.
Spazio libero su disco sufficiente sul server di destinazione per contenere il database ripristinato.
Panoramica
Per eseguire un ripristino di AlloyDB Omni utilizzando pgBackRest, esegui
il comando pgbackrest restore
. Gli argomenti che fornisci al comando variano a seconda della tua situazione.
In generale, esegui il comando pgbackrest restore
con flag che forniscono le seguenti informazioni:
- La posizione del file
pgbackrest.conf
. - Il nome del repository di backup pgBackRest da cui vuoi eseguire il ripristino. Questi
repository sono denominati e definiti nel file
pgbackest.conf
. - La posizione nel file system locale in cui scrivere i dati ripristinati.
- Un identificatore del backup o del momento specifico da cui vuoi eseguire il ripristino.
Quando esegui i comandi pgbackrest restore
in container, ricorda di utilizzare i percorsi del file system dal punto di vista del container. Ad esempio, il percorso
della directory dei dati di AlloyDB Omni è sempre /mnt/disks/pgsql
,
indipendentemente dalla sua posizione sul server host. Per saperne di più, consulta la sezione
Una nota sui percorsi del file system.
Eseguire un ripristino point-in-time
Questo esempio ripristina i dati da un repository pgBackRest, specificando un momento particolare da cui eseguire il ripristino. Se hai definito più repository nel file pgbackrest.conf
dell'ambiente di destinazione, pgBackRest sceglie il repository da cui eseguire il ripristino in base a disponibilità, velocità prevista e altri fattori.
L'esempio presuppone quanto segue:
Hai un file
pgbackrest.conf
che si trova al livello superiore della directory dei dati di AlloyDB Omni di destinazione. In questo modo il file è disponibile perpgbackrest
in contenitori come/mnt/disks/pgsql/pgbackrest.conf
.Hai abilitato i backup continui con la configurazione di pgBackRest.
Nell'ambiente di destinazione, esegui un ripristino PITR specificando un timestamp da cui eseguire il ripristino:
sudo docker exec pg-service pgbackrest \ --config-path=/mnt/disks/pgsql \ --stanza=STANZA \ --type=time \ --pg1-path=/mnt/disks/pgsql/data-RESTORED \ --target="TIMESTAMP" \ restore
Sostituisci quanto segue:
STANZA
: la sezione di configurazione, definita dal filepgbackrest.conf
, da applicare a questo ripristino, ad esempioomni
.TIMESTAMP
: l'ora di ripristino, ad esempio2024-02-22 19:50:00
.
Nell'ambiente di destinazione, arresta il server di database:
sudo alloydb database-server stop
Rinomina la sottodirectory
data
della directory dei dati, come misura di sicurezza:cd DATA_DIR
sudo mv data data-OLD
Sostituisci
DATA_DIR
con il percorso del file system della directory dei dati di AlloyDB Omni.Sposta i dati ripristinati nella posizione corretta e pulisci
postgresql.auto.conf
:sudo mv data-RESTORED data
sudo sed -i 's|data-RESTORED|data|' data/postgresql.auto.conf
Avvia il server di database:
sudo alloydb database-server start
Ora puoi connetterti al database utilizzando psql
e verificare che i dati
siano stati ripristinati come previsto. In questo caso, puoi eliminare la copia data-OLD
della sottodirectory data
che hai creato in precedenza.
Per ulteriori informazioni sul PITR in pgBackRest, consulta Recupero point-in-time.
Per ulteriori informazioni sulla preparazione
di un file pgbackrest.conf
da utilizzare con AlloyDB Omni, consulta Configurare pgBackRest per AlloyDB Omni.
Altre opzioni
Il comando pgbackrest restore
è molto flessibile, con una serie di opzioni e funzionalità che puoi controllare passando diverse opzioni della riga di comando. Di seguito sono elencati alcuni esempi:
- Limitare il ripristino solo ai file modificati.
- Ripristino solo dei database selezionati.
Per una guida completa all'esecuzione dei ripristini in pgBackRest, consulta Ripristino.