Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Cet article explique comment restaurer un serveur Azure PostgreSQL-Flexible en tant que fichiers sauvegardés à l’aide du portail Azure.
Prérequis
Avant de restaurer à partir des sauvegardes de serveur flexible Azure Database pour PostgreSQL, passez en revue les conditions préalables suivantes :
Vérifiez que vous disposez des autorisations requises pour l’opération de restauration.
Les données de sauvegarde sont stockées en tant que blob dans le coffre de sauvegarde dans le locataire Microsoft. Pendant une opération de restauration, les données de sauvegarde sont copiées d’un compte de stockage vers un autre entre les locataires. Vérifiez que le compte de stockage cible de la restauration a la propriété AllowCrossTenantReplication définie sur true.
Vérifiez que le compte de stockage cible pour la restauration de la sauvegarde en tant que fichier est accessible via un réseau public. Si le compte de stockage utilise un point de terminaison privé, mettez à jour ses paramètres d’accès au réseau public avant d’exécuter une opération de restauration.
Restaurer Azure PostgreSQL - Sauvegardes de serveur flexibles en tant que fichiers
Remarque
L’opération de restauration est un processus en deux étapes :
- Restaurez la sauvegarde à partir du coffre de sauvegarde dans un conteneur de stockage.
- Restaurez les fichiers de sauvegarde à partir d’un conteneur de stockage vers un serveur flexible nouveau ou existant.
Pour restaurer la base de données Azure PostgreSQL-Flexible, procédez comme suit :
Accédez à Coffre de sauvegarde>Instances de sauvegarde. Sélectionnez le serveur PostgreSQL - Flexible à restaurer et sélectionnez Restaurer.
Vous pouvez également accéder au Centre de sauvegarde et sélectionner Restaurer.
Sélectionnez la limite dans le temps que vous souhaitez restaurer en utilisant Sélectionner un point de restauration. Modifiez la plage de dates en sélectionnant Période.
Choisissez le compte de stockage cible et le conteneur sous l’onglet Restaurer des paramètres. Sélectionnez Valider pour vérifier les autorisations des paramètres de restauration avant l’examen final et la restauration.
Une fois la validation réussie, sélectionnez Vérifier + restaurer.
Après la dernière révision des paramètres, sélectionnez Restaurer pour restaurer la sauvegarde de serveur flexible PostgreSQL sélectionnée dans le compte de stockage cible.
Soumettez l’opération de restauration et suivez la tâche déclenchée sous Travaux de sauvegarde.
Une fois le travail de restauration terminé, accédez au conteneur de compte de stockage pour afficher les bases de données restaurées sous forme de fichiers (.sql fichiers) à partir de votre serveur PostgreSQL – Flexible. Sauvegarde Azure génère également les fichiers de sauvegarde suivants :
Database.sql filepar base de données : contient des données et des informations de schéma pour une base de données particulière.Roles.sql filespour l’ensemble de l’instance : contient toutes les informations de rôle qui existent au niveau du serveur.Tablespace.sql file: fichier Tablespace.Schema.sql file: contient des informations de schéma pour toutes les bases de données sur le serveur.Remarque
Nous vous recommandons de ne pas exécuter ce script sur le serveur Flexible PostgreSQL, car le schéma fait déjà partie du
database.sqlscript.
Restaurer les fichiers de sauvegarde à partir d’un conteneur de stockage vers un serveur PostgreSQL nouveau ou existant – Serveur flexible
Pour restaurer les fichiers de sauvegarde à partir d’un conteneur de stockage vers un serveur PostgreSQL nouveau ou existant – Serveur flexible, procédez comme suit :
Vérifiez que toutes les extensions requises sont activées sur le nouveau serveur flexible cible.
Faites correspondre les valeurs des paramètres du serveur de la base de données PostgreSQL source à Azure Database pour PostgreSQL en accédant à la section Paramètres du serveur dans le portail Azure et en mettant à jour manuellement les valeurs en conséquence. Enregistrez les modifications du paramètre, puis redémarrez le serveur flexible Azure Database pour PostgreSQL pour appliquer la nouvelle configuration.
Si l’authentification Microsoft Entra est requise sur le nouveau serveur, activez-la et créez les administrateurs Microsoft Entra appropriés.
Créez une base de données pour la restauration.
Remarque
Avant la restauration de la base de données, vous devez créer une base de données vide. Vérifiez que votre compte d’utilisateur dispose de l’autorisation
CREATEDB.Pour créer la base de données, utilisez la
CREATE DATABASE Database_namecommande.Restaurez la base de données à l’aide de
database.sql filecomme utilisateur administrateur cible.Une fois la base de données cible créée, téléchargez le fichier de vidage à partir d’un compte stockage Azure en exécutant la commande suivante :
az storage blob download --container-name <container-name> --name <blob-name> --account-name <storage-account-name> --account-key <storage-account-key> --file <file-name>Ensuite, restaurez les données de cette base de données à partir du fichier de vidage en exécutant la commande suivante :
pg_restore -h <postgres-server-url> -p <port> -U <username> -d <database-name> --no-owner -v <File Name>-
--account-name: nom du compte de stockage cible. -
--container-name: nom du conteneur de blob. -
--blob-name: nom de l’objet blob. -
--account-key: clé de compte de stockage. -
-Fd: Format de répertoire. -
-j: nombre de travaux. -
-C: Commencez la sortie avec une commande pour créer la base de données elle-même, puis vous y reconnecter.
Remarque
Si la commande ne s’exécute pas comme prévu, spécifiez le chemin d’accès complet au fichier au lieu d’utiliser uniquement le nom de fichier.
Vous pouvez également télécharger le fichier de sauvegarde et exécuter la restauration directement.
-
Restaurez uniquement les rôles et privilèges requis et ignorez les erreurs courantes. Ignorez cette étape si vous effectuez la restauration pour les exigences de conformité et la récupération des données, en tant qu’administrateur local.
Restaurer des rôles et des utilisateurs pour les bases de données restaurées
Les sauvegardes en coffre sont principalement restaurées pour les besoins de conformité, tels que les tests et les audits. Vous pouvez vous connecter en tant qu’administrateur local et restaurer à l’aide du database.sql fichier ; aucun autre rôle n’est nécessaire pour la récupération des données.
Pour d’autres utilisations telles que la protection contre la suppression accidentelle ou la récupération d’urgence, assurez-vous que les rôles nécessaires sont créés en fonction des besoins de votre organisation. Évitez les duplications entre roles.sql et database.sql.
- Restaurer le même serveur flexible : la restauration des rôles peut ne pas être nécessaire.
-
Restaurer sur un autre serveur flexible : utilisez le
roles.sqlfichier pour recréer les rôles requis.
Lorsque vous effectuez une restauration à partir de roles.sql, certains rôles ou attributs peuvent ne pas être valides pour le nouveau serveur cible.
Pour les environnements avec un accès superutilisateur (local ou machines virtuelles), vous pouvez exécuter toutes les commandes en toute transparence.
Considérations clés relatives au scénario de serveur flexible
Voici les principales considérations à prendre en compte :
-
Supprimez Superuser-Only attributs : sur un serveur flexible, il n’existe aucun privilège de superutilisateur. Supprimez donc les attributs, tels que
NOSUPERUSERetNOBYPASSRLSdu vidage des rôles. -
Exclure l'utilisateur Service-Specific: exclure les utilisateurs spécifiques aux services serveur flexible (
azure_su,azure_pg_admin,replication,localadmin,Entra Admin). Ces rôles de service spécifiques sont automatiquement recréés lorsque les administrateurs sont ajoutés au nouveau serveur flexible.
Avant de restaurer les objets de base de données, veillez à vider et nettoyer correctement les rôles. Pour effectuer cette action, téléchargez le roles.sqlscript à partir de votre conteneur de stockage et créez toutes les connexions requises.
- Créer des rôles Non-Entra : Utilisez un compte d’administrateur local pour exécuter les scripts de création de rôles.
- Créer des rôles Microsoft Entra : si vous avez besoin de créer des rôles pour les utilisateurs de Microsoft Entra, utilisez un compte d’administrateur Microsoft Entra pour exécuter les scripts nécessaires.
Vous pouvez télécharger le script des rôles à partir de votre compte de stockage, comme illustré dans la capture d’écran suivante :
Lorsque vous migrez le fichier de sortie, roles.sql vous pouvez inclure certains rôles et attributs qui ne sont pas applicables dans le nouvel environnement. Vous devez prendre en compte les éléments suivants :
- Suppression d’attributs qui ne peuvent être définis que par des superutilisateurs : si vous migrez vers un environnement où vous n’avez pas de privilèges de superutilisateur, supprimez les attributs tels que NOSUPERUSER et NOBYPASSRLS dans le vidage des rôles.
-
Exclusion des utilisateurs spécifiques au service : exclure des utilisateurs de service unique, tels que
azure_superuserouazure_pg_admin. Celles-ci sont spécifiques au service et sont créées automatiquement dans le nouvel environnement.
Utilisez la commande sed suivante pour nettoyer votre vidage de rôles :
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
Cette commande supprime les lignes contenant azure_superuser, azure_pg_admin, azuresu, les lignes commençant par CREATE ROLE et réplication ALTER ROLE, et supprime les attributs NOSUPERUSER et NOBYPASSRLS des commandes ALTER ROLE.
Étapes suivantes
Gérer la sauvegarde d’Azure PostgreSQL - Serveur flexible à l’aide du portail Azure.