Comme AlloyDB Omni est compatible avec PostgreSQL, les commandes et techniques de restauration de données décrites dans le manuel pgBackRest s'appliquent également à AlloyDB Omni. Cette page présente une sélection de tâches de récupération courantes, avec des exemples de commandes pertinentes.
Pour en savoir plus sur la configuration de pgBackRest pour qu'il fonctionne avec AlloyDB Omni, consultez Configurer pgBackRest pour AlloyDB Omni.
Avant de commencer
Avant de configurer AlloyDB Omni pour qu'il fonctionne avec pgBackrest, vous devez installer et exécuter AlloyDB Omni sur un serveur que vous contrôlez.
Un serveur de base de données cible exécutant la même version majeure d'AlloyDB Omni que le serveur de base de données source. Pour en savoir plus sur l'installation d'AlloyDB Omni, consultez Installer AlloyDB Omni.
Le serveur cible peut être la même machine que le serveur source.
Un dépôt de sauvegarde pgBackRest contenant au moins une sauvegarde de la base de données AlloyDB Omni source.
L'espace disque libre sur le serveur cible doit être suffisant pour contenir la base de données restaurée.
Présentation
Pour effectuer une restauration AlloyDB Omni à l'aide de pgBackRest, exécutez la commande pgbackrest restore
. Les arguments que vous fournissez à la commande varient en fonction de votre situation.
En règle générale, vous exécutez la commande pgbackrest restore
avec des indicateurs qui fournissent les informations suivantes :
- Emplacement de votre fichier
pgbackrest.conf
. - Nom du dépôt de sauvegarde pgBackRest à partir duquel vous souhaitez effectuer la restauration. Ces dépôts sont nommés et définis dans le fichier
pgbackest.conf
. - Emplacement du système de fichiers local où écrire les données restaurées.
- Identifiant de la sauvegarde ou du point dans le temps à partir duquel vous souhaitez effectuer la restauration.
Lorsque vous exécutez les commandes pgbackrest restore
conteneurisées, n'oubliez pas d'utiliser les chemins du système de fichiers du point de vue du conteneur. Par exemple, le chemin d'accès à votre répertoire de données AlloyDB Omni est toujours /mnt/disks/pgsql
, quelle que soit son emplacement sur votre serveur hôte. Pour en savoir plus, consultez Remarque concernant les chemins d'accès au système de fichiers.
Effectuer une restauration à un moment précis
Cet exemple restaure des données à partir d'un dépôt pgBackRest, en spécifiant un moment précis à partir duquel effectuer la restauration. Si vous avez défini plusieurs dépôts dans le fichier pgbackrest.conf
de l'environnement cible, pgBackRest choisit le dépôt à partir duquel effectuer la restauration en fonction de la disponibilité, de la vitesse attendue et d'autres facteurs.
L'exemple suppose ce qui suit :
Vous disposez d'un fichier
pgbackrest.conf
situé au niveau supérieur de votre répertoire de données AlloyDB Omni cible. Cela rend le fichier disponible pourpgbackrest
conteneurisé en tant que/mnt/disks/pgsql/pgbackrest.conf
.Vous avez activé les sauvegardes continues avec votre configuration pgBackRest.
Dans l'environnement cible, effectuez une restauration PITR en spécifiant un code temporel à partir duquel effectuer la restauration :
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
Remplacez les éléments suivants :
STANZA
: strophe de configuration, définie par le fichierpgbackrest.conf
, à appliquer à cette restauration (par exemple,omni
).TIMESTAMP
: heure à partir de laquelle effectuer la restauration, par exemple2024-02-22 19:50:00
.
Dans l'environnement cible, arrêtez le serveur de base de données :
sudo alloydb database-server stop
Par mesure de sécurité, renommez le sous-répertoire
data
de votre répertoire de données :cd DATA_DIR
sudo mv data data-OLD
Remplacez
DATA_DIR
par le chemin d'accès au système de fichiers de votre répertoire de données AlloyDB Omni.Déplacez les données restaurées et nettoyez-les
postgresql.auto.conf
:sudo mv data-RESTORED data
sudo sed -i 's|data-RESTORED|data|' data/postgresql.auto.conf
Démarrez le serveur de base de données :
sudo alloydb database-server start
Vous pouvez maintenant vous connecter à votre base de données à l'aide de psql
et vérifier que les données ont été restaurées comme prévu. Si c'est le cas, vous pouvez supprimer la copie data-OLD
du sous-répertoire data
que vous avez créé précédemment.
Pour en savoir plus sur la récupération PITR dans pgBackRest, consultez Récupération à un moment précis.
Pour en savoir plus sur la préparation d'un fichier pgbackrest.conf
à utiliser avec AlloyDB Omni, consultez Configurer pgBackRest pour AlloyDB Omni.
Autres options
La commande pgbackrest restore
est très flexible et propose un large éventail d'options et de fonctionnalités que vous pouvez contrôler en transmettant différentes options de ligne de commande. En voici quelques-unes :
- Limiter la restauration aux seuls fichiers modifiés.
- Restauration de bases de données sélectionnées uniquement.
Pour obtenir un guide complet sur la restauration dans pgBackRest, consultez Restore.