كيفية عمل نسخة احتياطية واستعادة قاعدة بيانات باستخدام pg_dump و pg_restore

back up and restore a PostgreSQL database using pg_dump and pg_restore

يعد دعم واستعادة قاعدة البيانات مهمة أساسية لأي مسؤول قاعدة بيانات. يضمن حماية البيانات ويمكن استردادها في حالة فقدان البيانات أو الفساد أو فشل النظام. يوفر PostgreSQL مفيدين، pg_dump pg_restore، لجعل هذه المهمة سهلة وموثوقة. في هذا الدليل خطوة بخطوة، سنعرض لك كيفية استخدام هذه المرافق لدعم واستعادة قاعدة بيانات PostgreSQL.

المتطلبات الأساسية

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

  • تم تثبيت PostgreSQL على نظامك.
  • قاعدة بيانات للنسخ الاحتياطي واستعادتها.

فهم pg_dump و pg_restore

pg_dump هي أداة PostgreSQL التي تنشئ نسخة احتياطية من قاعدة بيانات من خلال إنشاء ملف نصي يحتوي على بيانات SQL لإعادة إنشاء مخطط قاعدة البيانات وبياناتها. يمكن استخدامه أيضًا لدعم جداول أو مخطط معين أو حتى سجلات فردية. pg_dump ينشئ شكل ملف محمول يمكن استخدامه لنقل البيانات بين تركيبات PostgreSQL المختلفة أو حتى بين أنظمة إدارة قواعد البيانات المختلفة.

pg_restore هي أداة PostgreSQL تستعيد ملف النسخ الاحتياطي الذي تم إنشاؤه بواسطة pg_dump أو أداة مماثلة. يقرأ بيانات SQL من الملف الاحتياطي ويطبقها على قاعدة بيانات جديدة أو موجودة، مما يؤدي إلى إنشاء نسخة من قاعدة البيانات الأصلية. ويمكن استخدام pg_restore لاستعادة قاعدة البيانات بأكملها، أو جداول أو مخططات محددة، أو حتى السجلات الفردية.

الخطوة 1 – إنشاء نسخة احتياطية

الخطوة الأولى هي إنشاء نسخة احتياطية من قاعدة بياناتك باستخدام pg_dump. تنشئ هذه الأداة ملفًا نصيًا يحتوي على بيانات SQL لإعادة إنشاء مخطط قاعدة البيانات وبياناتها.

صيغة

وفيما يلي تركيبة استخدام pg_dump:

$ pg_dump [options] [dbname] > [backup_file]
  • options: خيارات إضافية لتخصيص عملية النسخ الاحتياطي، مثل الشكل أو الضغط أو الترميز أو استبعاد الكائنات.
  • dbname: اسم قاعدة البيانات للنسخ الاحتياطي.
  • backup_file: اسم الملف لكتابة النسخة الاحتياطية إليه.

مثال

لإنشاء نسخة احتياطية، افتح محطًا أو أمرًا موجهًا وقم بتشغيل الأمر التالي:

$ pg_dump dbname > backup.sql

استبدل اسم dbname باسم قاعدة البيانات التي تريد نسخها احتياطيًا، و backup.sql بالاسم الذي تريد إعطائه لملف النسخ الاحتياطي.

ستطلب منك الأداة pg_dump كلمة مرور قاعدة البيانات. أدخل كلمة المرور واضغط على Enter.

قد تستغرق عملية النسخ الاحتياطي بعض الوقت، اعتمادًا على حجم قاعدة بياناتك.

بمجرد اكتمال النسخ الاحتياطي، سيكون لديك ملف اسمه backup.sql في الدليل الحالي.

تخصيص النسخ الاحتياطي

pg_dump يوفر العديد من الخيارات لتخصيص عملية النسخ الاحتياطي. ومن أكثر الخيارات فائدة ما يلي:

  • -F: يحدد تنسيق النسخ الاحتياطي. التنسيق الافتراضي هو نص عادي (-Fp)، ولكن يمكنك أيضًا استخدام تنسيقات ثنائية (-Fc) أو دليل (-Fd).
  • -j: يحدد عدد الوظائف الموازية لاستخدامها. يمكن لهذا الخيار تسريع عملية النسخ الاحتياطي للأنظمة متعددة النواة.
  • -T: يستثني الجداول من النسخ الاحتياطي. يمكنك استخدام بطاقات البدل أو التعبيرات العادية لمطابقة أسماء الجدول.
  • -n: يستثني المخططات من الدعم. يمكنك استخدام بطاقات البدل أو التعبيرات العادية لمطابقة أسماء المخطط.
  • -a: يدعم البيانات فقط، وليس المخطط. يمكن أن يكون هذا الخيار مفيدًا عندما ترغب في نقل البيانات بين قاعدتي بيانات بهياكل مخطط مختلفة.

الخطوة 2 – استعادة النسخ الاحتياطي

الخطوة التالية هي استعادة النسخ الاحتياطي باستخدام pg_restore. تقرأ هذه الأداة بيانات SQL من الملف الاحتياطي وتطبقها على قاعدة بيانات جديدة.

صيغة

وفيما يلي تركيبة استخدام pg_restore:

$ pg_restore [options] [backup_file]
  • options: خيارات إضافية لتخصيص عملية الاستعادة، مثل قاعدة البيانات المستهدفة، أو الشكل، أو الترميز، أو رسم خرائط المخطط.
  • backup_file: اسم الملف لاستعادته.

مثال

لاستعادة النسخ الاحتياطي، افتح محطًا أو أمرًا موجهًا وقم بتشغيل الأمر التالي:

$ pg_restore backup.sql

استبدل backup.sql باسم الملف الاحتياطي الذي تريد استعادته منه.

ستطلب منك الأداة pg_restore كلمة مرور قاعدة البيانات. أدخل كلمة المرور واضغط على Enter.

قد تستغرق عملية الاستعادة بعض الوقت، اعتمادًا على حجم قاعدة بياناتك.

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

تخصيص الاستعادة

pg_restore يوفر أيضا العديد من الخيارات لتخصيص عملية الاستعادة. ومن أكثر الخيارات فائدة ما يلي:

  • -d: يحدد قاعدة البيانات المستهدفة لاستعادتها. افتراضيًا، يقوم pg_restore بإنشاء قاعدة بيانات جديدة بنفس اسم قاعدة البيانات الأصلية.
  • -F: يحدد تنسيق النسخ الاحتياطي. التنسيق الافتراضي هو نص عادي (-Fp)، ولكن يمكنك أيضًا استخدام تنسيقات ثنائية (-Fc) أو دليل (-Fd).
  • -j: يحدد عدد الوظائف الموازية لاستخدامها. يمكن لهذا الخيار تسريع عملية استعادة الأنظمة متعددة النواة.
  • -n: يحدد مخطط رسم الخرائط من الملف الاحتياطي إلى قاعدة البيانات المستهدفة. يمكن أن يكون هذا الخيار مفيدًا عندما تريد إعادة النسخ الاحتياطي إلى مخطط مختلف عن قاعدة البيانات الأصلية.
  • -t: يستعيد فقط الجداول المحددة. يمكنك استخدام بطاقات البدل أو التعبيرات العادية لمطابقة أسماء الجدول.

خلاصة

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

LEAVE A COMMENT