مشاركة عبر


التشغيل السريع: إنشاء قاعدة بيانات Azure لخادم PostgreSQL المرن

قاعدة بيانات Azure ل PostgreSQL هي خدمة مدارة يمكنك استخدامها لتشغيل وإدارة وتوسيع قواعد بيانات PostgreSQL المتوفرة بعلى.

تظهر لك هذه البداية السريعة كيفية إنشاء قاعدة بيانات Azure لمثيل خادم مرن PostgreSQL باستخدام قوالب Azure portal، أو Azure CLI، أو Azure Resource Manager (ARM).

Prerequisites

قبل أن تبدأ، تأكد من أن لديك:

  • اشتراك Azure. إذا لم يكن لديك حساب، فبادر بإنشاء حساب Azure مجاني.
  • الأذونات المناسبة لإنشاء الموارد في اشتراكك.

افهم ما الذي تصنعه

تتضمن نسخة Azure Database for PostgreSQL مرنة من الخوادم ما يلي:

  • مجموعة مهيأة من موارد الحوسبة والتخزين.
  • النشر داخل مجموعة موارد Azure.
  • قاعدة بيانات يتم إنشاؤها postgres بشكل افتراضي.
  • azure_maintenance قاعدة بيانات لعمليات الخدمة المدارة.
  • قاعدة azure_sys بيانات لتخزين الاستعلامات وميزات الضبط الذاتي.

ملاحظة

عادة ما تستخدم الاتصالات المنفذ 5432، أو المنفذ 6432 إذا تم الاتصال عبر مجمع اتصال PgBouncer المدمج.

إنشاء خادم باستخدام Azure portal

  1. قم بتسجيل الدخول إلى بوابة Azure.
  2. اختر إنشاء مورد في الزاوية العلوية اليسرى.
  3. ضمن Categories، حدد Databases.
  4. ابحث واختر Azure Database for PostgreSQL flexible server.
  5. حدد إنشاء.

تكوين الإعدادات الأساسية

تفاصيل المشروع

الإعدادات القيمة المقترحة ملاحظات
اشتراك اشتراكك اختر مكان الفوترة على المورد
مجموعة الموارد myresourcegroup إنشاء جديد أو اختر الموجود

تفاصيل الخادم

الإعدادات القيمة المقترحة الوصف
اسم الخادم mydemoserver-pgsql ويجب أن يكون فريدًا من نوعه على الصعيد العالمي. يتم إضافة النطاق .postgres.database.azure.com تلقائيا
المنطقة المنطقة الأقرب إليك ضع في اعتبارك الامتثال، وإقامة البيانات، والتسعير، والقرب من المستخدمين
إصدار PostgreSQL أحدث الإصدارات المتاحة المدعومون حاليا: 18، 17، 16، 15، 14، 13، 12، 11
نوع حمل العمل التطوير يستخدم التطوير وحدات SKU من Burstable (وحدات SKU). يستخدم الإنتاج الأنظمة العامة أو الذاكرة المحسنة.
مناطق التوفّر بدون تفضيلات من المفيد أن تتواجد مع طلبك

قابلية وصول عالية

خيار SLA الوصف
⁧⁩مُعطل⁧⁩ 99.9% خادم واحد بدون خيار احتياطي
نفس المنطقة 99.95% الاستعداد في نفس منطقة التوفر
المتكرر على مستوى المنطقة 99.99% الاستعداد في منطقة توفر مختلفة

Authentication

الإعدادات الوصف Recommended
أسلوب المصادقة كيفية المصادقة لدى المستخدمين - مصادقة PostgreSQL فقط (للبدء السريع)
- مصادقة Microsoft Entra (للإنتاج)
- كلاهما (للمرونة)
"Admin username" مستخدم المسؤول - يجب أن يكون من 1 إلى 63 حرفا
- فقط الأرقام والحروف
- لا أستطيع البدء ب pg_
- لا يمكن أن تكون أسماء محجوزة للنظام
كلمة المرور كلمة المرور المعقدة 8-128 حرفا بالأحرف الكبيرة والصغيرة، والأرقام، والأحرف الخاصة

تكوين الحوسبة والتخزين

اختر تكوين الخادم للتخصيص:

حساب المستوى

المستوى حالة الاستخدام الوصف
مندفع التطوير بالنسبة لأحمال العمل التي لا تحتاج إلى معالج كامل مستمر
الغرض العام الانتاج أكثر أعباء الإنتاج شيوعا
مُحسّن للذاكرة أعمال العمل عالية الذاكرة أحمال العمل التي تتطلب نسبة عالية من الذاكرة إلى وحدة المعالجة المركزية

إعدادات التخزين

الإعدادات يمكن التغيير لاحقا الوصف
نوع التخزين ❌ لا SSD بريميوم أو بريميوم SSD v2
حجم التخزين ✅ نعم (زيادة فقط) لا يمكن أن تنكمش بعد الخلق
مستوى الأداء ✅ نعم يتحكم في IOPS ومعدل النقل
التحجيم التلقائي للتخزين ✅ نعم التوسع التلقائي عند الاقتراب من الحدود

إعدادات النسخ الاحتياطي

الإعدادات يمكن التغيير لاحقا الوصف
الاحتفاظ بالنسخة الاحتياطية ✅ نعم 7-35 يوما
تكرار النسخ الاحتياطي ❌ لا زائد محليا، أو تكرار منطقي، أو تكرار جغرافي
التكرار الجغرافي ❌ لا متوفر فقط في المناطق المزدوجة من Azure

تكوين شبكة الاتصال

اختر طريقة الاتصال الخاصة بك (لا يمكن تغييرها بعد الإنشاء):

الوصول العام (عناوين IP المسموح بها)

اتصل عبر نقطة نهاية عامة باستخدام قواعد جدار الحماية.

الإعدادات:

الإعدادات الوصف
السماح بالوصول العام تمكين الوصول العام لتكوين قواعد جدار الحماية
Allow Azure services Permit connections from all Azure services
إضافة عنوان IP الحالي للعميل أضف عنوان IP الخاص بك إلى قائمة التسميح

الوصول الخاص (تكامل الشبكة الافتراضية)

اتصل عبر نقطة نهاية خاصة داخل شبكة افتراضية. لمزيد من المعلومات، راجع Network with private access for Azure Database ل PostgreSQL.

تكوين الأمان

الإعدادات يمكن التغيير لاحقا الخيارات
مفتاح تشفير البيانات ❌ لا الإدارة من قبل الخدمة أو الإدارة من قبل العملاء

إضافة علامات الموارد (اختياري)

نظم الموارد باستخدام أزواج الاسم والقيمة:

اسم قيمة الغرض
البيئة التطوير تحديد نوع البيئة
CostCenter IT-Dept تتبع التكاليف حسب القسم
مالك admin@contoso.com تحديد الطرف المسؤول

المراجعة والإنشاء

  1. حدد "Review + create".
  2. راجع جميع الإعدادات.
  3. اختر إنشاء للنشر.

عادة ما يستغرق النشر من 5 إلى 10 دقائق. عند الانتهاء، اختر الرجوع إلى المورد للوصول إلى خادمك.

إنشاء خادم باستخدام Azure CLI

المتطلبات المسبقة ل CLI

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

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

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

subscription="<subscriptionId>" # add subscription here

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

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

إذا كنت تستخدم Azure Cloud Shell، فأنت بالفعل مسجل.

إنشاء خادم باستخدام CLI

أنشئ خادما بأمر واحد:

az postgres flexible-server create \
  --resource-group myresourcegroup \
  --name mydemoserver-pgsql \
  --location eastus \
  --admin-user myadmin \
  --admin-password <password> \
  --sku-name Standard_D4ds_v5 \
  --tier GeneralPurpose \
  --public-access 0.0.0.0 \
  --storage-size 128 \
  --tags "Environment=Development"

مرجع معلمات CLI

Parameter الوصف مثال
--resource-group اسم مجموعة الموارد myresourcegroup
--name اسم خادم فريد عالميا mydemoserver-pgsql
--location منطقة Azure eastus
--admin-user اسم المستخدم للمسؤول myadmin
--admin-password كلمة مرور المسؤول كلمة المرور الخاصة بك123!
--sku-name وحدة SKU الحوسبة Standard_D4ds_v5
--tier حساب المستوى قابل للتفجير، عام الأغراض، محسن للذاكرة
--storage-size التخزين في جيجابايت 128
--public-access عناوين IP المسموح بها 0.0.0.0 (جميع خدمات Azure)، عنوان IP، أو نطاق IP
--version إصدار PostgreSQL 16
--high-availability وضع HA Disabled، SameZone، ZoneRedundant
--backup-retention أيام الاحتفاظ الاحتياطية 7-35

مثال متقدم على CLI

أنشئ خادما مكررا في المنطقة ومتاحا بشكل كبير:

az postgres flexible-server create \
  --resource-group myresourcegroup \
  --name mydemoserver-pgsql-ha \
  --location eastus \
  --admin-user myadmin \
  --admin-password <password> \
  --sku-name Standard_D4ds_v5 \
  --tier GeneralPurpose \
  --storage-size 256 \
  --storage-type PremiumV2_LRS \
  --high-availability ZoneRedundant \
  --zone 1 \
  --standby-zone 2 \
  --backup-retention 14 \
  --public-access 0.0.0.0

إنشاء خادم باستخدام قالب ARM

نظرة عامة على قالب ARM

قوالب Azure Resource Manager (ARM) تتيح لك تعريف البنية التحتية ككود. استخدم القوالب للنشر المتكرر.

قالب ARM الحد الأدنى

احفظ هذا الملف ك postgres-server-template.json:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "serverName": {
      "type": "string",
      "metadata": {
        "description": "Server name must be globally unique"
      }
    },
    "administratorLogin": {
      "type": "string",
      "minLength": 1,
      "maxLength": 63,
      "metadata": {
        "description": "Administrator username"
      }
    },
    "administratorLoginPassword": {
      "type": "securestring",
      "minLength": 8,
      "metadata": {
        "description": "Administrator password"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Server location"
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.DBforPostgreSQL/flexibleServers",
      "apiVersion": "2024-08-01",
      "name": "[parameters('serverName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_D4ds_v5",
        "tier": "GeneralPurpose"
      },
      "properties": {
        "administratorLogin": "[parameters('administratorLogin')]",
        "administratorLoginPassword": "[parameters('administratorLoginPassword')]",
        "version": "16",
        "storage": {
          "storageSizeGB": 128,
          "type": "Premium_LRS",
          "autoGrow": "Enabled"
        },
        "backup": {
          "backupRetentionDays": 7,
          "geoRedundantBackup": "Disabled"
        },
        "network": {
          "publicNetworkAccess": "Enabled"
        },
        "highAvailability": {
          "mode": "Disabled"
        }
      }
    }
  ],
  "outputs": {
    "serverFQDN": {
      "type": "string",
      "value": "[reference(parameters('serverName')).fullyQualifiedDomainName]"
    }
  }
}

نشر قالب ARM

az group create --name myresourcegroup --location eastus

az deployment group create \
  --resource-group myresourcegroup \
  --template-file postgres-server-template.json \
  --parameters \
    serverName=mydemoserver-pgsql \
    administratorLogin=myadmin \
    administratorLoginPassword=<password>

الحصول على معلومات الاتصال

بعد إنشاء خادمك، استرجع تفاصيل الاتصال:

استخدام مدخل Microsoft Azure

  1. اذهب إلى خادمك في بوابة Azure.
  2. افتح صفحة النظرة العامة .
  3. انسخ هذه القيم:
    • اسم الخادم (نقطة النهاية): mydemoserver-pgsql.postgres.database.azure.com
    • تسجيل دخول المسؤول: myadmin

استخدام Azure CLI

az postgres flexible-server show \
  --resource-group myresourcegroup \
  --name mydemoserver-pgsql \
  --query "{serverName:fullyQualifiedDomainName, adminUser:administratorLogin}" \
  --output table

الاتصال باستخدام psql

تثبيت psql

إذا لم تكن لديك أدوات عميل PostgreSQL، قم بتحميل PostgreSQL لمنصتك.

اتصل بخادمك

psql "host=mydemoserver-pgsql.postgres.database.azure.com port=5432 dbname=postgres user=myadmin sslmode=require"

عند الطلب، أدخل كلمة مرور المسؤول التي قمت بتعيينها أثناء إنشاء الخادم.

تنسيق سلسلة الاتصال

host=<server-name>.postgres.database.azure.com port=5432 dbname=<database-name> user=<admin-user> password=<password> sslmode=require

تحقق من الاتصال

بعد الاتصال، يجب أن ترى:

psql (14.13, server 16.4)
WARNING: psql major version 14, server major version 16.
         Some psql features might not work.
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.

postgres=>

إنشاء قاعدة بيانات

CREATE DATABASE user_database;
\c user_database
\q

استكشاف مشاكل الاتصال

اتصال حجب جدار الحماية

إذا رأيت:

connection to server at "mydemoserver-pgsql.postgres.database.azure.com" (###.###.###.###), port 5432 failed: Connection timed out

الحل: أضف عنوان IP الخاص بك إلى قواعد جدار الحماية:

az postgres flexible-server firewall-rule create \
  --resource-group myresourcegroup \
  --name mydemoserver-pgsql \
  --rule-name AllowMyIP \
  --start-ip-address <your-ip> \
  --end-ip-address <your-ip>

SSL مطلوب لكنه غير مهيأ

تأكد من أن سلسلة الاتصال الخاصة بك تتضمن sslmode=require.

تنظيف الموارد

عندما تنتهي من البدء السريع، احذف الموارد لتجنب الرسوم.

حذف مجموعة الموارد بالكامل

az group delete --name myresourcegroup --yes

احذف فقط الخادم

az postgres flexible-server delete \
  --resource-group myresourcegroup \
  --name mydemoserver-pgsql \
  --yes