
pgbackrest release/2.59.0
حل نسخ احتياطي واستعادة متوازٍ لـ PostgreSQL مع تشفير، واستعادة تفاضلية، ودعم تخزين كائنات متعدد السحابات للتعافي من الكوارث على مستوى المؤسسات.
pgBackRest
نسخ احتياطي واستعادة موثوق لـ PostgreSQL
مقدمة
pgBackRest هو حل موثوق للنسخ الاحتياطي والاستعادة لقواعد بيانات PostgreSQL، ويتوسع بسلاسة ليدعم أكبر قواعد البيانات وأحمال العمل.
pgBackRest v2.59.1 هو الإصدار المستقر الحالي. ملاحظات الإصدار متاحة في صفحة الإصدارات.
يرجى منحنا نجمة على GitHub إذا أعجبك pgBackRest!
الأخبار
17 أغسطس 2026 - إصدار pgBackRest 2.59.1
20 يوليو 2026 - حزمة توزيع Tarball جديدة
20 يوليو 2026 - إصدار pgBackRest 2.59.0
الميزات
النسخ الاحتياطي والاستعادة المتوازيان
عادةً ما يكون الضغط هو عنق الزجاجة أثناء عمليات النسخ الاحتياطي، لذا يحل pgBackRest هذه المشكلة من خلال المعالجة المتوازية وخوارزميات ضغط أكثر كفاءة مثل lz4 و zstd.
التشغيل المحلي أو عن بُعد
يتيح بروتوكول مخصص لـ pgBackRest إجراء النسخ الاحتياطي والاستعادة والأرشفة محليًا أو عن بُعد عبر TLS/SSH بأقل قدر من الإعدادات. كما يتم توفير واجهة للاستعلام عن PostgreSQL عبر طبقة البروتوكول، بحيث لا تكون هناك حاجة أبدًا للوصول عن بُعد إلى PostgreSQL، مما يعزز الأمان.
مستودعات متعددة
تتيح المستودعات المتعددة، على سبيل المثال، مستودعًا محليًا بفترة احتفاظ دنيا للاستعادة السريعة ومستودعًا بعيدًا بفترة احتفاظ أطول للتكرار والوصول على مستوى المؤسسة.
نسخ احتياطي كامل وتفاضلي وتزايدي (على مستوى الملف أو الكتلة)
يتم دعم النسخ الاحتياطي الكامل والتفاضلي والتزايدي. pgBackRest ليس عرضة لمشاكل دقة الوقت في rsync، مما يجعل النسخ الاحتياطي التفاضلي والتزايدي آمنًا دون الحاجة إلى حساب مجموع اختباري (checksum) لكل ملف. توفر النسخ الاحتياطية على مستوى الكتلة مساحة من خلال نسخ الأجزاء المتغيرة من الملفات فقط.
تدوير النسخ الاحتياطي وانتهاء صلاحية الأرشيف
يمكن تعيين سياسات الاحتفاظ للنسخ الاحتياطي الكامل والتفاضلي لتحقيق تغطية لأي فترة زمنية. يمكن الاحتفاظ بأرشيف WAL لجميع النسخ الاحتياطية أو للنسخ الاحتياطية الأحدث فقط. في الحالة الأخيرة، سيتم الاحتفاظ في الأرشيف بسجلات WAL اللازمة لجعل النسخ الاحتياطية الأقدم متسقة.
سلامة النسخ الاحتياطي
يتم حساب المجاميع الاختبارية (checksums) لكل ملف في النسخة الاحتياطية وإعادة التحقق منها أثناء الاستعادة أو التحقق. بعد انتهاء النسخة الاحتياطية من نسخ الملفات، تنتظر حتى يصل كل مقطع WAL المطلوب لجعل النسخة الاحتياطية متسقة إلى المستودع.
يمكن تخزين النسخ الاحتياطية في المستودع بنفس تنسيق مجموعة PostgreSQL القياسية (بما في ذلك مساحات الجداول). إذا تم تعطيل الضغط وتمكين الروابط الصلبة (hard links)، فمن الممكن إنشاء لقطة (snapshot) من نسخة احتياطية في المستودع وتشغيل مجموعة PostgreSQL مباشرة على اللقطة. وهذا مفيد لقواعد البيانات بمقياس التيرابايت التي تستغرق وقتًا طويلاً في الاستعادة بالطريقة التقليدية.
تستخدم جميع العمليات fsync على مستوى الملفات والدلائل لضمان المتانة.
المجاميع الاختبارية للصفحات
إذا تم تمكين المجاميع الاختبارية للصفحات، فسيقوم pgBackRest بالتحقق من صحة المجاميع الاختبارية لكل ملف يتم نسخه أثناء النسخ الاحتياطي. يتم التحقق من جميع المجاميع الاختبارية للصفحات أثناء النسخ الاحتياطي الكامل، ويتم التحقق من المجاميع الاختبارية في الملفات المتغيرة أثناء النسخ الاحتياطي التفاضلي والتزايدي.
لا توقف حالات فشل التحقق عملية النسخ الاحتياطي، ولكن يتم إخراج تحذيرات مع تفاصيل حول الصفحات التي فشل التحقق منها بالضبط إلى وحدة التحكم وسجل الملفات.
تتيح هذه الميزة اكتشاف التلف على مستوى الصفحات مبكرًا، قبل انتهاء صلاحية النسخ الاحتياطية التي تحتوي على نسخ صالحة من البيانات.
استئناف النسخ الاحتياطي
يمكن استئناف نسخة احتياطية متقطعة من النقطة التي توقفت عندها. تتم مقارنة الملفات التي تم نسخها بالفعل مع المجاميع الاختبارية في البيان (manifest) لضمان السلامة. وبما أن هذه العملية يمكن أن تتم بالكامل على مضيف المستودع، فإنها تقلل الحمل على مضيف PostgreSQL وتوفر الوقت نظرًا لأن حساب المجموع الاختباري أسرع من ضغط البيانات وإعادة إرسالها.
الضغط المتدفق والمجاميع الاختبارية
يتم تنفيذ عمليات الضغط وحساب المجاميع الاختبارية بشكل متدفق (stream) أثناء نسخ الملفات إلى المستودع، سواء كان المستودع محليًا أو بعيدًا.
إذا كان المستودع على مضيف مستودع، يتم إجراء الضغط على مضيف PostgreSQL ويتم إرسال الملفات بصيغة مضغوطة وتخزينها ببساطة على مضيف المستودع. عند تعطيل الضغط، يتم استخدام مستوى أقل من الضغط للاستفادة بكفاءة من النطاق الترددي المتاح مع إبقاء تكلفة وحدة المعالجة المركزية (CPU) في أدنى حد.
الاستعادة التفاضلية
يحتوي البيان (manifest) على مجاميع اختبارية لكل ملف في النسخة الاحتياطية، بحيث يمكن أثناء الاستعادة استخدام هذه المجاميع الاختبارية لتسريع المعالجة بشكل هائل. في الاستعادة التفاضلية، تتم أولاً إزالة أي ملفات غير موجودة في النسخة الاحتياطية، ثم يتم إنشاء مجاميع اختبارية للملفات المتبقية. تُترك الملفات المطابقة للنسخة الاحتياطية في أماكنها وتُستعاد بقية الملفات كالمعتاد. يمكن أن تؤدي المعالجة المتوازية إلى تقليل وقت الاستعادة بشكل كبير.
دفع وسحب WAL المتوازي وغير المتزامن
يتم تضمين أوامر مخصصة لدفع WAL إلى الأرشيف وسحب WAL من الأرشيف. يدعم كلا الأمرين التوازي لتسريع المعالجة ويعملان بشكل غير متزامن لتوفير أسرع وقت استجابة ممكن لـ PostgreSQL.
يكتشف دفع WAL تلقائيًا مقاطع WAL التي يتم دفعها عدة مرات ويزيل التكرار عندما يكون المقطع متطابقًا، وإلا يتم رفع خطأ. يتيح دفع WAL غير المتزامن نقل عملية النقل إلى عملية أخرى تقوم بضغط مقاطع WAL بالتوازي لتحقيق أقصى إنتاجية. يمكن أن تكون هذه ميزة حاسمة لقواعد البيانات ذات حجم الكتابة المرتفع للغاية.
يحتفظ سحب WAL غير المتزامن بقائمة انتظار محلية من مقاطع WAL التي تم فك ضغطها وجاهزة لإعادة التطبيق. يقلل هذا من الوقت اللازم لتوفير WAL لـ PostgreSQL مما يزيد من سرعة إعادة التطبيق. تستفيد الاتصالات ووسائط التخزين ذات زمن الاستجابة الأعلى (مثل S3) أكثر من غيرها.
يضمن أمرا الدفع والسحب معًا تطابق قاعدة البيانات والمستودع من خلال مقارنة إصدارات PostgreSQL ومعرّفات النظام. وهذا يلغي عمليًا إمكانية إعداد موقع أرشيف WAL بشكل خاطئ.
دعم مساحات الجداول والروابط
يتم دعم مساحات الجداول (tablespaces) بشكل كامل، ويمكن عند الاستعادة إعادة تعيين مساحات الجداول إلى أي موقع. من الممكن أيضًا إعادة تعيين جميع مساحات الجداول إلى موقع واحد بأمر واحد، وهو أمر مفيد لعمليات الاستعادة في بيئات التطوير.
يتم دعم الروابط للملفات والدلائل لأي ملف أو دليل في مجموعة PostgreSQL. عند الاستعادة، يمكن استعادة جميع الروابط إلى مواقعها الأصلية، أو إعادة تعيين بعض أو كل الروابط، أو استعادة بعض أو كل الروابط كملفات أو دلائل عادية داخل دليل المجموعة.
دعم S3 و Azure و GCS
يمكن وضع مستودعات pgBackRest في مخازن الكائنات المتوافقة مع S3 و Azure و GCS، مما يتيح سعة واحتفاظًا غير محدودين عمليًا.
التشفير
يمكن لـ pgBackRest تشفير المستودع لتأمين النسخ الاحتياطية أينما تم تخزينها.
الحماية من برامج الفدية والبرمجيات الخبيثة
عند تخزين المستودع على مخزن كائنات مُصدار (versioned object storage)، يمكن لـ pgBackRest قراءة المستودع كما كان في نقطة زمنية محددة. إذا تم حذف النسخ الاحتياطية أو إتلافها عن طريق الخطأ أو البرمجيات الخبيثة أو برامج الفدية، يمكن استخدام وقت مستهدف لاستعادة البيانات من قبل حدوث الضرر.
يتم دعم الإصدارات (versioning) بواسطة مخازن الكائنات المتوافقة مع S3 و Azure و GCS. يمكن أن يوفر قفل الكائنات (object locking) لـ S3 والحذف الناعم (soft delete) لـ GCS أو Azure حماية إضافية ضد العبث.
التوافق مع عشرة إصدارات من PostgreSQL
يتضمن pgBackRest دعمًا لعشرة إصدارات من PostgreSQL، وهي الإصدارات الخمسة المدعومة وآخر خمسة إصدارات وصلت إلى نهاية الدعم (EOL). يتيح هذا وقتًا كافيًا للترقية إلى إصدار مدعوم.
البدء
يسعى pgBackRest ليكون سهل الإعداد والتشغيل:
- أدلة المستخدم لمختلف أنظمة التشغيل وإصدارات PostgreSQL.
- مرجع الأوامر لعمليات سطر الأوامر.
- مرجع الإعدادات لإنشاء إعدادات pgBackRest.
الرعاة
لن يكون pgBackRest موجودًا بدون الرعاية: فالميزات الجديدة وإصلاحات الأخطاء ومراجعات المساهمات والدعم المجتمعي والصيانة تستغرق جميعها وقتًا كبيرًا. يرجى التفكير في رعاية إذا كنت تستخدم pgBackRest في مؤسستك.
رعاتنا: AWS, Supabase, pgEdge, Tiger Data, Percona, Eon, Xata, Dalibo, Data Egret.
نحن ممتنون لرعاتنا لاستثمارهم في البنية التحتية مفتوحة المصدر التي تفيد مجتمع PostgreSQL بأكمله.
الرعاة السابقون: Crunchy Data, Resonate.
المساهمات
المساهمات في pgBackRest مرحب بها دائمًا! يرجى الاطلاع على إرشادات المساهمة للحصول على تفاصيل حول كيفية المساهمة بالميزات أو التحسينات أو الإبلاغ عن المشكلات.
الدعم
pgBackRest مجاني تمامًا ومفتوح المصدر بموجب رخصة MIT. يمكنك استخدامه للأغراض الشخصية أو التجارية دون أي قيود على الإطلاق. تؤخذ تقارير الأخطاء على محمل الجد وستتم معالجتها في أسرع وقت ممكن. يرجى الإبلاغ عن الأخطاء هنا.
يمكن أن يكون إنشاء سياسة قوية للتعافي من الكوارث مع استراتيجيات النسخ المتماثل والنسخ الاحتياطي المناسبة مهمة معقدة وشاقة للغاية. قد تجد أنك بحاجة إلى المساعدة خلال مرحلة التصميم المعماري والدعم المستمر لضمان استمرار عمل مؤسستك بسلاسة.
يقدم الرعاة لدينا منتجات وخدمات تشمل دعم pgBackRest ويمكنهم المساعدة في تلبية احتياجات التعافي من الكوارث.