Partager via


Restaurer une instance de serveur flexible Azure Database pour PostgreSQL en utilisant Azure CLI

S’APPLIQUE À : Azure Database pour PostgreSQL : serveur flexible

Cet exemple de script Azure CLI permet de restaurer une seule instance de serveur flexible Azure Database pour PostgreSQL à un point antérieur dans le temps.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

Prérequis

Exemple de script

Pour ce script, utilisez Azure CLI localement, car il lui faut beaucoup de temps pour s’exécuter dans Cloud Shell.

Connexion à Azure

Utilisez le script suivant pour vous connecter à l’aide d’un abonnement spécifique.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Pour plus d’informations, consultez Définir l’abonnement actif ou Se connecter de manière interactive

Exécuter le script

# Restore an Azure Database for PostgreSQL server

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-postgresql-rg-$randomIdentifier"
tag="backup-restore-postgresql"
server="msdocs-postgresql-server-$randomIdentifier"
sku="GP_Gen5_2"
restoreServer="restore-server$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"

echo "Using resource group $resourceGroup with login: $login, password: $password..."

# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag

# Create a PostgreSQL server in the resource group
# Name of a server maps to DNS name and is thus required to be globally unique in Azure.
echo "Creating $server in $location..."
az postgres server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --sku-name $sku

# Sleeping commands to wait long enough for automatic backup to be created
echo "Sleeping..."
sleep 10m

# Restore a server from backup to a new server
# To specify a specific point-in-time (in UTC) to restore from, use the ISO8601 format:
# restorePoint=“2021-07-09T13:10:00Z”
restorePoint=$(date +%s)
restorePoint=$(expr $restorePoint - 60)
restorePoint=$(date -d @$restorePoint +"%Y-%m-%dT%T")
echo $restorePoint

echo "Restoring $restoreServer"
az postgres server restore --name $restoreServer --resource-group $resourceGroup --restore-point-in-time $restorePoint --source-server $server

Nettoyer le déploiement

Utilisez la commande suivante pour supprimer le groupe de ressources et toutes les ressources associées à celui-ci à l’aide de la commande az group delete, sauf si vous avez toujours besoin de ces ressources. La création, ainsi que la suppression, de certaines de ces ressources peut prendre du temps.

az group delete --name $resourceGroup

Informations de référence sur l’exemple

Ce script utilise les commandes décrites dans le tableau suivant :

Commande Remarques
az group create Crée un groupe de ressources dans lequel toutes les ressources sont stockées.
az postgresql server create Crée une instance de serveur flexible Azure Database pour PostgreSQL qui héberge les bases de données.
az postgresql server restore Restaure un serveur à partir de la sauvegarde.
az group delete Supprime un groupe de ressources, y compris toutes les ressources imbriquées.

Étapes suivantes