انتقل إلى المحتوى
VDS Panel
VDS Panel
إدارة الخادم
قاعدة البيانات 22 Mart 2026 · 8 dk okuma

التثبيت التلقائي لـ PostgreSQL: تجمع الاتصال ودليل النسخ الاحتياطي

إنشاء قاعدة بيانات PostgreSQL باستخدام لوحة VDS وتثبيت تجمع اتصال PgBouncer وعمليات النسخ الاحتياطي والاستعادة التلقائية. قل وداعًا لأوامر psql اليدوية.

#postgresql #pgbouncer #veritabanı #backup #restore
VDS Panel
VDS Panel Ekibi
Ürünü geliştiren ekip

PostgreSQL هي جوهرة التاج في عالم قواعد البيانات مفتوحة المصدر. موثوقة وقابلة للتطوير وملتزمة بالمعايير. ومع ذلك، في الإنتاج، يتطلب التثبيت الفعال وإعداد تجمع الاتصال وعمليات النسخ الاحتياطي والاستعادة معلومات. أكثر بكثير من مجرد أمر P0 واحد.

في هذه المقالة، سنشرح كيف تقوم لوحة VDS بإدارة PostgreSQL تلقائيًا، وكيفية التوسع باستخدام PgBouncer، واستراتيجية النسخ الاحتياطي الخاصة بها.

Bir bakışta
~ 4 ثانية
قاعدة البيانات + المستخدم + إعداد الأذونات
500+
اتصال متوازي مع PgBouncer
15 دقيقة
الفاصل الزمني الاحتياطي التلقائي
ايه اي اس-256
تشفير النسخ الاحتياطي

مشروع جديد = قاعدة بيانات جديدة

تكوين PostgreSQL في التدفق التقليدي:

ص0

ثم إلى بيئة تطبيقك:

ص1

في لوحة VDS: حدد مربع “إضافة PostgreSQL” عند إضافة المشروع. والباقي تلقائي:

  1. 01
    يتم إنشاء المستخدم
    مستخدم اسمه myapp_user بكلمة مرور قوية مكونة من 32 حرفًا. لا يتم كشف كلمة المرور مرة أخرى خارج قاعدة البيانات.
  2. 02
    يتم إنشاء قاعدة البيانات
    يتم تعيين قاعدة بيانات باسم myapp_production لمستخدم جديد كمالك.
  3. 03
    يتم منح أذونات المخطط العام
    بالنسبة لـ PG 15+، يتم أيضًا تعيين الامتيازات الافتراضية. تعمل عمليات ترحيل Liquibase/Flyway دون أي مشاكل.
  4. 04
    تم إدخال DATABASE_URL في env
    عند بدء تشغيل حاوية التطبيق، ترى سلسلة الاتصال في بيئة العملية. لم يتم كتابته في أي مكان في الملف أو git.
  5. 05
    يتم حفظ تجمع اتصال PgBouncer
    إذا كان مشروعًا عالي الإنتاجية، فسيتم توجيه الاتصال عبر PgBouncer. التفاصيل أدناه.

لماذا نحتاج إلى PgBouncer؟

يقوم PostgreSQL بتفرع عملية منفصلة لكل اتصال. إذا تلقت واجهة Node.js API 100 طلب متزامن، فسيكون هناك 100 عملية PG. يؤدي هذا إلى إنشاء عبء تبديل الذاكرة والسياق.

PgBouncer روابط حمامات السباحة. قم بتعيين 1000 رابط تطبيق إلى 20-50 رابط PG حقيقي. خاتمة:

5-10×
المزيد من الإنتاجية
يمتلك PgBouncer نفس سعة PG مثل وضع تجميع المعاملات.

تقوم لوحة VDS تلقائيًا بتثبيت PgBouncer للمشاريع ذات الحركة المرورية العالية. عنوان الرابط:

ص2

التطبيق ليس على علم بذلك؛ ويستخدم نفس الواجهة، ولكن تجمع الاتصال يعمل في الخلفية.

حدود تجميع المعاملات

لا يدعم وضع التجمع P0 الخاص بـ PgBouncer البيانات المعدة ومتغيرات الجلسة. إذا كان تطبيقك يستخدم P1 أو P2، فاستخدم وضع P3 (إنتاجية أقل قليلاً ولكن توافق كامل).

النسخ الاحتياطي التلقائي

تقوم لوحة VDS بفحص قاعدة البيانات الخاصة بك كل 15 دقيقة وتأخذ نسخة احتياطية كاملة يوميًا:

  • تفريغ قاعدة البيانات باستخدام pg_dump —format=custom
  • التشفير باستخدام age أو gpg (باستخدام المفتاح العام)
  • تحميل S3 أو R2 اختياري (التعافي من الكوارث)
  • احتفاظ لمدة 30 يومًا، ويتم مسح النسخ الاحتياطية القديمة تلقائيًا
  • يتم الاحتفاظ بالملف المحلي عند التحميل غير الناجح

يمكنك عرض قائمة النسخ الاحتياطية واستعادة أي نسخة احتياطية من اللوحة.

مفتاح تشفير النسخ الاحتياطي

يمكنك تحميل المفتاح العام للعمر إلى اللوحة. يبقى المفتاح الخاص معك فقط. حتى اللوحة أو المهاجم لا يستطيع فك تشفير النسخ الاحتياطية. تأكد من عمل نسخة احتياطية للمفتاح في وضع عدم الاتصال؛ إذا فقدت ذلك، فستفقد الوصول إلى النسخ الاحتياطية الخاصة بك.

الاستعادة: التراجع

حدث خطأ في عملية الترحيل، وكانت البيانات تالفة. من اللوحة:

  1. “قاعدة البيانات” ← علامة التبويب “النسخ الاحتياطية”.
  2. حدد تاريخ النسخ الاحتياطي المطلوب
  3. زر “استعادة”. لوحة 4:
    • إغلاق الاتصالات الموجودة (وضع الصيانة)
    • يخزن البيانات الحالية كـ P0
    • إنشاء قاعدة بيانات جديدة من النسخة الاحتياطية
    • إعادة توجيه التطبيق إلى قاعدة بيانات جديدة
    • يفتح الروابط

الوقت الإجمالي ~ 30 ثانية (لقواعد البيانات الصغيرة). بضع دقائق لقواعد البيانات الكبيرة.

إدارة الهجرة

Liquibase، Flyway، Prisma، Drizzle، TypeORM، أيًا كانت أداة الترحيل التي تستخدمها، تقوم اللوحة تلقائيًا بحل مشكلات ملكية جدول Liquibase/Flyway:

  • يقوم Liquibase/Flyway بإنشاء جدول باستخدام مستخدم postgres المتميز
  • لا يمكن لمستخدم التطبيق الوصول إلى هذه الجداول (مشكلة الملكية)
  • تكتشف اللوحة ذلك وتنقل الملكية تلقائيًا

وإلا فسوف تحصل على خطأ “تم رفض الإذن للجدول…”؛ تحل اللوحة هذه المشكلة الشائعة.

PostgreSQL على Kubernetes (CNPG)

إذا كانت وحدة K3s نشطة، فيمكن استخدام CNPG (مشغل CloudNativePG) لـ PostgreSQL على مستوى الإنتاج. الايجابيات:

  • تجاوز الفشل التلقائي (يتولى وضع الاستعداد في حالة حدوث عطل أساسي)
  • دفق النسخ المتماثل (قراءة النسخ المتماثلة)
  • النسخ الاحتياطي الساخن (النسخ الاحتياطي دون توقف)
  • مراقبة التكامل
  • الصيانة المجدولة

يقوم بتثبيت CNPG بنقرة واحدة باستخدام وحدة VDS Panel K3s. إنه مثالي لسيناريوهات الإنتاج التي تتطلب توفرًا عاليًا.

##يراقب

لوحة لكل مثيل PostgreSQL:

  • عدد الاتصالات المباشرة (المستخدمة/الحد الأقصى)
  • أداء الاستعلام (كشف الاستعلام البطيء)
  • استخدام القرص
  • مقاسات الطاولة
  • تأخر النسخ (إن وجد)
  • حالة النسخ الاحتياطي

الافتراضي P0؛ يتم تسجيل الاستعلامات الأطول من 500 مللي ثانية. ستلاحظ على الفور استعلامات بطيئة.

العزل

على جانب اللوحة، يتم تشغيل كل مشروع في قاعدة البيانات الخاصة به:

  • لا يمكن للمشروع “أ” الوصول إلى قاعدة بيانات المشروع “ب”.
  • مستخدم منفصل، كلمة مرور منفصلة، مخطط منفصل
  • يمكن تشفير النسخ الاحتياطية في ملفات منفصلة بمفاتيح مختلفة
  • يؤثر الحذف فقط على قاعدة بيانات هذا المشروع

بالنسبة لسيناريوهات الاستضافة متعددة المستأجرين، يعد هذا العزل أمرًا بالغ الأهمية.

خاتمة

إنتاج PostgreSQL هو مهمة تستغرق ساعات إذا تم إجراؤها يدويًا: إنشاء المستخدم/قاعدة البيانات، وتعيين الأذونات، وإعداد تجمع الاتصال، وجدولة النسخ الاحتياطي، واختبار الاستعادة، والمراقبة. تتعامل لوحة VDS مع هذه الخطوات تلقائيًا وتسمح لك بإدارتها من واجهة اللوحة.

كل ما عليك فعله هو تحديد مربع “إضافة PostgreSQL” عند إضافة مشروعك الأول. يتم الانتهاء من الباقي في غضون 4 ثوان. يمكنك التحقق من الصفحة الرئيسية للحصول على تفاصيل وحدة قاعدة البيانات أو مشاركة سيناريو التثبيت الخاص بك من نموذج الاتصال.

هل ترغب في تجربتها على الخادم الخاص بك؟

اتصل بنا عبر نموذج الاتصال ودعنا نجهز ترخيصًا + خطة تثبيت مناسبة لسيناريو الاستخدام الخاص بك.

نحن هنا عندما تكون مستعدًا

تجربة نشر حديثة على الخادم الخاص بك، مجرد رسالة اتصال.

دعنا نفهم سيناريو الاستخدام الخاص بك ونقوم بإعداد الترخيص المناسب وخطة التثبيت لك. متوسط ​​وقت الاستجابة لدينا هو أقل من 24 ساعة.