
هذه وثيقة "كيفية" تقدم أمثلة على الأوامر فقط، وطريقة التنفيذ الفعلية تعتمد بشكل كامل على الشخص الذي يقوم بها وحالات الاستخدام المحددة.
أولاً، إخلاء مسؤولية. يوفر هذا المنشور دليلًا عامًا حول كيفية النسخ الاحتياطي لجدول قاعدة بيانات Postgres. الأمثلة المقدمة لا تشير إلى أي جدول أو قاعدة بيانات محددة. إذا كنت تحاول نسخ جدول محدد احتياطيًا، يجب عليك أيضًا نسخ الجداول التي تشير إلى الجداول الأصلية احتياطيًا. بما أن Postgres هو قاعدة بيانات علائقية، فسيكون هناك دائمًا مراجع بين عدد من الجداول.
هذه وثيقة 'كيفية' تقدم أوامر نموذجية فقط، كيفية القيام بذلك بالفعل يعتمد بشكل كلي على الشخص الذي يقوم به وحالات الاستخدام المحددة. دائمًا احرص على الحفاظ على سلامة البيانات التي تحاول نسخها احتياطيًا. النسخ الاحتياطي لقاعدة البيانات بالكامل هو خيار آمن دائمًا، ولكن عند نسخ جداول محددة احتياطيًا يجب أن يكون المرء حذرًا.
تفريغ SQL/pg_dump:
الفكرة وراء طريقة SQL-dump هي إنشاء ملف نصي يحتوي على أوامر SQL تعمل عند إعادتها إلى الخادم على إعادة إنشاء قاعدة البيانات في نفس الحالة التي كانت عليها في وقت الإنشاء. يوفر PostgreSQL البرنامج المساعد pg_dump لهذا الغرض.
pg_dump هو أداة فعالة وشاملة لأخذ نسخ احتياطية من قاعدة بيانات Postgres واستخدام النسخ الاحتياطية لاستعادة قاعدة البيانات. ولكنه ليس محصورًا فقط في قاعدة البيانات. يمكننا استخدام pg_dump لنسخ الجداول احتياطيًا ثم استخدامها لاستعادة الجداول الفردية أيضًا. باستخدام pg_dump يمكنك نسخ قاعدة البيانات المحلية احتياطيًا واستعادتها على قاعدة بيانات عن بُعد.
كيفية النسخ الاحتياطي لقاعدة بيانات Postgres:
كيفية استعادة قاعدة بيانات Postgres
استعادة جدول PostgreSQL :
$ /opt/msys/3rdParty/bin/psql -U ecuser -f ms_table.sql pe
الأمر أعلاه سيقوم بتثبيت الجدول الذي تم نسخه احتياطيًا في ملف ms_table.sql إلى قاعدة البيانات 'pe'. تأكد من أن هذا الجدول لا يوجد بالفعل حتى لا تواجه مجموعة من الأخطاء 'الموجودة بالفعل'. هذا الأمر ينشئ الجدول ويصدر جميع البيانات إلى الجدول الجديد.
استعادة قاعدة بيانات PostgreSQL :
$ /opt/msys/3rdParty/bin/psql -U ecuser -d pe -f pe_dump.sql
مشابه لاستعادة الجدول، يمكننا استخدام الأمر أعلاه لاستعادة قاعدة البيانات بالكامل. هنا نقوم باستعادة قاعدة البيانات 'pe' باستخدام الملف pe_dump.sql الذي أنشأناه أثناء نسخة احتياطية للقاعدة في قسم النسخ الاحتياطي أعلاه.
استعادة جميع قواعد البيانات :
$ /opt/msys/3rdParty/bin/psql -u ecuser -f all_dump.sql
استعادة جميع قواعد البيانات باستخدام الأمر أعلاه. 'all_dump.sql' كان الملف الذي تم إنشاؤه باستخدام pg_dumpall. الأمر أعلاه سيعطينا جميع قواعد بيانات PostgreSQL في نفس الحالة التي كانت عليها عندما تم أخذ نسخة احتياطية منها من خادم قاعدة البيانات الأصلي.