استعادة قاعدة بيانات Azure ل PostgreSQL - مثيل الخادم المرن باستخدام Azure CLI

ينطبق على:Azure Database لـPostgreSQL - خادم فرديAzure Database لـPostgreSQL - خادم مرن

يستعيد نموذج البرنامج النصي CLI هذا مثيل خادم مرن لقاعدة بيانات Azure ل PostgreSQL إلى نقطة زمنية سابقة.

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

المتطلبات الأساسية

نموذج البرنامج النصي

في هذا البرنامج النصي، استخدم واجهة سطر الأوامر في Azure محليًا حيث يستغرق وقتًا طويلاً لتشغيله في Cloud Shell.

تسجيل الدخول إلى Azure

استخدم البرنامج النصي التالي لتسجيل الدخول باستخدام اشتراك معين.

subscription="<subscriptionId>" # add subscription here

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

لمزيد من المعلومات، راجع تعيين اشتراك نشط أو تسجيل الدخول بشكل تفاعلي

تشغيل البرنامج النصي

# 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

تنظيف النشر

استخدم الأمر التالي لإزالة مجموعة الموارد وجميع الموارد المقترنة بها باستخدام الأمر az group delete - إلا إذا وُجدت حاجة مستمرة لهذه الموارد. قد يستغرق إنشاء بعض هذه الموارد بعض الوقت، وكذلك حذفها.

az group delete --name $resourceGroup

نموذج مرجع

يستخدم البرنامج النصي هذا الأوامر الموضحة في الجدول التالي:

الأمر ملاحظات
az group create إنشاء مجموعة موارد يتم تخزين كل الموارد فيها.
az postgresql server create إنشاء مثيل خادم مرن لقاعدة بيانات Azure ل PostgreSQL يستضيف قواعد البيانات.
az postgresql server restore استعادة خادم من النسخة الاحتياطية.
حذف مجموعة az يحذف مجموعة الموارد بما في ذلك جميع الموارد المتداخلة.

الخطوات التالية