surfup

اختبار استعادة PostgreSQL قبل الترحيل

لا تكون النسخة الاحتياطية مفيدة إلا إذا أمكن استعادتها في بيئة معزولة واجتازت الفحوص.

هذا تمرين محاكاة، وليس دليلًا تشغيليًا لاستعادة الإنتاج. تأكد من محرك قاعدة البيانات وإصداره ومالك البيانات والاحتفاظ والتشفير ومساحة القرص المتاحة قبل أخذ نسخة. لا تختبر أبدًا بالكتابة فوق الإنتاج.

أنشئ النسخة الاحتياطية وحددها

  • استخدم طريقة النسخ الاحتياطي الموثقة للمشروع ولقطة متسقة. وسجّل قاعدة البيانات المصدر وإصدارها والطابع الزمني والمنطقة الزمنية والحجم ومالك مفتاح التشفير والمجموع الاختباري.
  • خزّن النسخة المشفرة بعيدًا عن مضيف الإنتاج. وأبقِ الأسرار خارج سجل الأوامر والتذاكر ولقطات الشاشة؛ وتحقق من قدرة الموظفين المصرح لهم على استرجاع المفتاح.

استعد البيانات إلى هدف معزول

  • أنشئ قاعدة بيانات جديدة فارغة بالإصدار الرئيسي المقصود والأدوار والإضافات المتوافقة. واستعد إليها باستخدام أداة استعادة PostgreSQL المطابقة؛ ولا توجّه الأمر مطلقًا إلى الإنتاج.
  • افحص الجداول المتوقعة وعدد الصفوف في السجلات المهمة والقيود وبدء التطبيق وعينة سير عمل للقراءة فقط. وسجّل مدة الاستعادة والاختلافات قبل الموافقة على الترحيل.

مثال والنتيجة المتوقعة

  • اختر أداة الاستعادة حسب التنسيق: يستخدم SQL العادي psql؛ وتستخدم أرشيفات custom أو tar أداة pg_restore (افحصها باستخدام pg_restore --list backup.dump). استعد إلى قاعدة بيانات مؤقتة ومعزولة مع تعطيل العمليات الخلفية والتكاملات الصادرة واستخدام أسرار اختبار فقط. لا تستخدم الإنتاج مطلقًا لهذا التمرين.
  • سجّل رمز الخروج والمدة المنقضية وعدد الجداول المتوقع وفحوص الإجماليات المعروفة. إذا فشلت الاستعادة أو اختلفت الأعداد، فتوقف وافحص الخطأ والإضافات والأدوار على مضيف الاختبار قبل الترحيل. يغطي pg_dump قاعدة بيانات واحدة؛ وتتطلب الأدوار العامة نسخة احتياطية منفصلة.

المصادر الأساسية