Partilhar via


Restaurar uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL usando a CLI do Azure

Este script de CLI de exemplo restaura uma única instância de servidor flexível do Banco de Dados do Azure para PostgreSQL para um ponto no tempo anterior.

Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.

Pré-requisitos

Script de exemplo

Para esse script, use a CLI do Azure localmente, pois leva muito tempo para ser executado no Cloud Shell.

Iniciar sessão no Azure

Use o script a seguir para entrar usando uma assinatura específica.

subscription="<subscriptionId>" # add subscription here

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

Para obter mais informações, consulte definir assinatura ativa ou fazer login interativamente

Executar o 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

Limpar a implementação

Use o comando a seguir para remover o grupo de recursos e todos os recursos associados a ele usando o comando az group delete - a menos que você tenha uma necessidade contínua desses recursos. Alguns desses recursos podem demorar um pouco para criar, bem como para excluir.

az group delete --name $resourceGroup

Referência de exemplo

Este script utiliza os comandos descritos na tabela seguinte:

Comando Notas
az group create (comando para criar um grupo no Azure CLI) Cria um grupo de recursos no qual todos os recursos são armazenados.
az postgresql server criar Cria uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL que hospeda os bancos de dados.
Restauração do servidor AZ PostgreSQL Restaure um servidor da cópia de segurança.
Exclusão de grupo AZ Elimina um grupo de recursos, incluindo todos os recursos aninhados.