يعد pgBackRest حلاً موثوقًا للنسخ الاحتياطي والاستعادة لـ PostgreSQL والذي يعمل بسلاسة على توسيع نطاقه ليشمل أكبر قواعد البيانات وأحمال العمل.
pgBackRest v2.54.0 هو الإصدار المستقر الحالي. ملاحظات الإصدار موجودة في صفحة الإصدارات.
يرجى العثور علينا على GitHub وإعطائنا نجمة إذا كنت تحب pgBackRest!
عادةً ما يكون الضغط هو عنق الزجاجة أثناء عمليات النسخ الاحتياطي، لذا يحل pgBackRest هذه المشكلة من خلال المعالجة المتوازية وخوارزميات الضغط الأكثر كفاءة مثل lz4 وzstd.
يسمح البروتوكول المخصص لـ pgBackRest بالنسخ الاحتياطي والاستعادة والأرشفة محليًا أو عن بعد عبر TLS/SSH بأقل قدر من التكوين. يتم أيضًا توفير واجهة للاستعلام عن PostgreSQL عبر طبقة البروتوكول بحيث لا يلزم أبدًا الوصول عن بعد إلى PostgreSQL، مما يعزز الأمان.
تسمح المستودعات المتعددة، على سبيل المثال، بمستودع محلي مع الحد الأدنى من الاحتفاظ لعمليات الاستعادة السريعة ومستودع بعيد مع احتفاظ أطول للتكرار والوصول عبر المؤسسة.
يتم دعم النسخ الاحتياطية الكاملة والتفاضلية والتزايدية. pgBackRest ليس عرضة لمشكلات دقة الوقت الخاصة بـ rsync، مما يجعل النسخ الاحتياطية التفاضلية والتزايدية آمنة دون الحاجة إلى المجموع الاختباري لكل ملف. توفر النسخ الاحتياطية على مستوى الكتلة المساحة عن طريق نسخ أجزاء الملفات التي تم تغييرها فقط.
يمكن تعيين سياسات الاحتفاظ للنسخ الاحتياطية الكاملة والتفاضلية لإنشاء تغطية لأي إطار زمني. يمكن الاحتفاظ بأرشيف WAL لجميع النسخ الاحتياطية أو فقط لأحدث النسخ الاحتياطية. في الحالة الأخيرة، سيتم الاحتفاظ بـ WAL المطلوب لجعل النسخ الاحتياطية القديمة متسقة في الأرشيف.
يتم حساب المجموع الاختباري لكل ملف في النسخة الاحتياطية ويتم إعادة فحصه أثناء عملية الاستعادة أو التحقق. بعد انتهاء النسخة الاحتياطية من نسخ الملفات، تنتظر حتى يصل كل مقطع WAL المطلوب لجعل النسخة الاحتياطية متسقة إلى المستودع.
قد يتم تخزين النسخ الاحتياطية في المستودع بنفس تنسيق مجموعة PostgreSQL القياسية (بما في ذلك مساحات الجداول). إذا تم تعطيل الضغط وتم تمكين الروابط الثابتة، فمن الممكن التقاط نسخة احتياطية في المستودع وإظهار مجموعة PostgreSQL مباشرة في اللقطة. يعد هذا مفيدًا لقواعد البيانات بحجم تيرابايت والتي تستغرق وقتًا طويلاً لاستعادتها بالطريقة التقليدية.
تستخدم جميع العمليات fsync على مستوى الملف والدليل لضمان المتانة.
إذا تم تمكين المجاميع الاختبارية للصفحة، فسيقوم pgBackRest بالتحقق من صحة المجاميع الاختبارية لكل ملف يتم نسخه أثناء النسخ الاحتياطي. يتم التحقق من صحة جميع المجاميع الاختبارية للصفحة أثناء النسخ الاحتياطي الكامل ويتم التحقق من صحة المجاميع الاختبارية في الملفات التي تم تغييرها أثناء النسخ الاحتياطي التفاضلي والتزايدي.
لا تؤدي حالات فشل التحقق من الصحة إلى إيقاف عملية النسخ الاحتياطي، ولكن يتم إخراج التحذيرات التي تتضمن تفاصيل حول الصفحات التي فشلت في التحقق من الصحة بالضبط إلى وحدة التحكم وسجل الملفات.
تسمح هذه الميزة باكتشاف الفساد على مستوى الصفحة مبكرًا، قبل انتهاء صلاحية النسخ الاحتياطية التي تحتوي على نسخ صالحة من البيانات.
يمكن استئناف عملية النسخ الاحتياطي التي تمت مقاطعتها من النقطة التي توقفت عندها. تتم مقارنة الملفات التي تم نسخها بالفعل مع المجاميع الاختبارية الموجودة في البيان لضمان سلامتها. نظرًا لأن هذه العملية يمكن إجراؤها بالكامل على مضيف المستودع، فإنها تقلل الحمل على مضيف PostgreSQL وتوفر الوقت نظرًا لأن حساب المجموع الاختباري أسرع من ضغط البيانات وإعادة إرسالها.
يتم إجراء حسابات الضغط والمجموع الاختباري في الدفق أثناء نسخ الملفات إلى المستودع، سواء كان المستودع موجودًا محليًا أو عن بعد.
إذا كان المستودع موجودًا على مضيف مستودع، فسيتم إجراء الضغط على مضيف PostgreSQL ويتم نقل الملفات بتنسيق مضغوط وتخزينها ببساطة على مضيف المستودع. عند تعطيل الضغط، يتم استخدام مستوى أقل من الضغط لتحقيق الاستخدام الفعال لعرض النطاق الترددي المتوفر مع الحفاظ على تكلفة وحدة المعالجة المركزية عند الحد الأدنى.
يحتوي البيان على مجاميع اختبارية لكل ملف في النسخة الاحتياطية بحيث يكون من الممكن أثناء عملية الاستعادة استخدام هذه المجاميع الاختبارية لتسريع المعالجة بشكل كبير. في استعادة دلتا، تتم أولاً إزالة أي ملفات غير موجودة في النسخة الاحتياطية ثم يتم إنشاء المجاميع الاختبارية للملفات المتبقية. يتم ترك الملفات المطابقة للنسخة الاحتياطية في مكانها ويتم استعادة باقي الملفات كالمعتاد. يمكن أن تؤدي المعالجة المتوازية إلى تقليل أوقات الاستعادة بشكل كبير.
يتم تضمين أوامر مخصصة لدفع WAL إلى الأرشيف والحصول على WAL من الأرشيف. يدعم كلا الأمرين التوازي لتسريع المعالجة والتشغيل بشكل غير متزامن لتوفير أسرع وقت استجابة ممكن لـ PostgreSQL.
يكتشف دفع WAL تلقائيًا مقاطع WAL التي تم دفعها عدة مرات ويزيل التكرارات عندما يكون المقطع متطابقًا، وإلا فسيظهر خطأ. يسمح دفع WAL غير المتزامن بإلغاء تحميل النقل إلى عملية أخرى تعمل على ضغط مقاطع WAL بشكل متوازٍ لتحقيق أقصى قدر من الإنتاجية. يمكن أن تكون هذه ميزة مهمة لقواعد البيانات ذات حجم الكتابة المرتفع للغاية.
يحتفظ WAL غير المتزامن بقائمة انتظار محلية لمقاطع WAL التي تم فك ضغطها وجاهزة لإعادة التشغيل. يؤدي هذا إلى تقليل الوقت اللازم لتوفير WAL إلى PostgreSQL مما يزيد من سرعة إعادة التشغيل. تستفيد الاتصالات والتخزين ذات زمن الوصول العالي (مثل S3) أكثر من غيرها.
يضمن كل من أمري الدفع والحصول على تطابق قاعدة البيانات والمستودع من خلال مقارنة إصدارات PostgreSQL ومعرفات النظام. وهذا يلغي فعليًا احتمالية تكوين موقع أرشيف WAL بشكل خاطئ.
مساحات الجداول مدعومة بالكامل ويمكن إعادة تعيين مساحات الجداول عند الاستعادة إلى أي مكان. من الممكن أيضًا إعادة تعيين جميع مساحات الجدول إلى موقع واحد باستخدام أمر واحد وهو أمر مفيد لاستعادة التطوير.
يتم دعم روابط الملفات والدليل لأي ملف أو دليل في مجموعة PostgreSQL. عند الاستعادة، من الممكن استعادة جميع الروابط إلى مواقعها الأصلية، أو إعادة رسم خريطة لبعض أو كل الروابط، أو استعادة بعض أو كل الروابط كملفات أو أدلة عادية داخل دليل المجموعة.
يمكن العثور على مستودعات pgBackRest في مخازن العناصر المتوافقة مع S3 وAzure وGCS للسماح بسعة واحتفاظ غير محدودين فعليًا.
يمكن لـ pgBackRest تشفير المستودع لتأمين النسخ الاحتياطية أينما تم تخزينها.
يتضمن pgBackRest دعمًا لعشرة إصدارات من PostgreSQL، والإصدارات الخمسة المدعومة وآخر خمسة إصدارات من EOL. وهذا يتيح متسعًا من الوقت للترقية إلى إصدار مدعوم.
يسعى pgBackRest ليكون سهل التكوين والتشغيل:
أدلة المستخدم لأنظمة التشغيل المختلفة وإصدارات PostgreSQL.
مرجع الأمر لعمليات سطر الأوامر.
مرجع التكوين لإنشاء تكوينات pgBackRest.
يمكن العثور على وثائق الإصدار 1 هنا. لم يتم التخطيط لإصدارات أخرى للإصدار 1 لأن الإصدار 2 متوافق مع الإصدارات السابقة مع خيارات ومستودعات الإصدار 1.
المساهمات في pgBackRest هي موضع ترحيب دائمًا! يرجى الاطلاع على إرشادات المساهمة الخاصة بنا للحصول على تفاصيل حول كيفية المساهمة بالميزات أو التحسينات أو المشكلات.
pgBackRest مجاني تمامًا ومفتوح المصدر بموجب ترخيص MIT. ويمكنك استخدامه لأغراض شخصية أو تجارية دون أي قيود على الإطلاق. يتم أخذ تقارير الأخطاء على محمل الجد وسيتم معالجتها في أسرع وقت ممكن.
يمكن أن يكون إنشاء سياسة قوية للتعافي من الكوارث باستخدام استراتيجيات النسخ الاحتياطي والنسخ الاحتياطي المناسبة مهمة معقدة وشاقة للغاية. قد تجد أنك بحاجة إلى المساعدة أثناء مرحلة التصميم والدعم المستمر لضمان استمرار تشغيل مؤسستك بسلاسة.
توفر Crunchy Data إصدارات مجمعة من pgBackRest لأنظمة التشغيل الرئيسية ودعمًا تجاريًا متخصصًا لدورة الحياة الكاملة لـ pgBackRest وكل ما يتعلق بـ PostgreSQL. تلتزم Crunchy Data بتوفير حلول مفتوحة المصدر دون تقييد البائع، مما يضمن الحفاظ دائمًا على التوافق الصارم مع إصدار المجتمع من pgBackRest.
يرجى زيارة كرانشي داتا لمزيد من المعلومات.
التقدير الأساسي يذهب إلى ستيفن فروست على كل نصائحه وانتقاداته القيمة أثناء تطوير pgBackRest.
ساهمت Crunchy Data بوقت وموارد كبيرة في pgBackRest وتواصل دعم التطوير بنشاط. ساهمت Resonate أيضًا في تطوير pgBackRest وسمحت بتثبيت الإصدارات المبكرة (لكن التي تم اختبارها جيدًا) كحل النسخ الاحتياطي الأساسي لـ PostgreSQL.
رسم كرسي بذراعين من تصميم ساندور زابو.