Återställa en Azure Database for PostgreSQL – flexibel serverinstans med hjälp av Azure CLI

GÄLLER FÖR: Azure Database for PostgreSQL – Azure Database for PostgreSQL för enskild server – flexibel server

Det här CLI-exempelskriptet återställer en enda flexibel Azure Database for PostgreSQL-serverinstans till en tidigare tidpunkt.

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Förutsättningar

Exempelskript

För det här skriptet använder du Azure CLI lokalt eftersom det tar för lång tid att köra i Cloud Shell.

Logga in på Azure

Använd följande skript för att logga in med en specifik prenumeration.

subscription="<subscriptionId>" # add subscription here

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

Mer information finns i ange en aktiv prenumeration eller logga in interaktivt

Kör skriptet

# 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

Rensa distribution

Använd följande kommando för att ta bort resursgruppen och alla resurser som är associerade med den med kommandot az group delete – såvida du inte har ett pågående behov av dessa resurser. Vissa av dessa resurser kan ta ett tag att skapa och ta bort.

az group delete --name $resourceGroup

Exempelreferens

Det här skriptet använder de kommandon som beskrivs i följande tabell:

Kommando Anteckningar
az group create Skapar en resursgrupp där alla resurser lagras.
az postgresql server create Skapar en flexibel Azure Database for PostgreSQL-serverinstans som är värd för databaserna.
az postgresql server restore Återställ en server från en säkerhetskopia.
az group delete Tar bort en resursgrupp, inklusive alla kapslade resurser.

Nästa steg