المتطلبات الأساسية
- إمكانية الوصول إلى قاعدة بيانات PostgreSQL المصدرية.
- تثبيت
psql,pg_dumpوpg_restoreعلى جهازك المحلي. يُستخدم ذلك لإنشاء جداول فارغة في قاعدة البيانات الهدف. وعادةً ما تكون هذه الأدوات مضمنة مع تثبيتات PostgreSQL. وإذا لم تكن كذلك، يمكنك تنزيلها من الموقع الرسمي لـ PostgreSQL. - يجب أن تكون قاعدة البيانات المصدرية قابلة للوصول من ClickHouse Managed Postgres. تأكد من أن أي قواعد مطلوبة في جدار الحماية أو إعدادات مجموعة الأمان تسمح بهذا الاتصال. ويمكنك الحصول على عنوان IP الصادر لمثيل Managed Postgres الخاص بك بتنفيذ ما يلي:
الإعداد
- يجب ضبط
wal_levelعلىlogicalفي قاعدة البيانات المصدر. - يجب ضبط
max_replication_slotsفي قاعدة البيانات المصدر على قيمة لا تقل عن1. - بالنسبة إلى RDS (الذي يستخدمه هذا الدليل كمثال)، عليك التأكد من أن مجموعة المعلمات لديك تتضمن
rds.logical_replicationمضبوطًا على1. - يجب أن يمتلك مستخدم قاعدة البيانات المصدر امتياز
REPLICATION. وفي حالة RDS، شغّل: - يجب أن يمتلك الدور الذي تستخدمه لقاعدة البيانات الهدف امتيازات الكتابة على كائنات قاعدة البيانات الهدف:
تفريغ يقتصر على المخطط لقاعدة البيانات المصدر
pg_dump:
- استبدل
<user>و<password>و<host>و<port>و<database>ببيانات اعتماد قاعدة البيانات المصدر. - يحدد
-sأننا نريد تفريغًا للمخطط فقط. - يحدد
--format directoryأننا نريد التفريغ بتنسيق الدليل، وهو تنسيق مناسب لـpg_restore. - يحدد
-f rds-dumpدليل الإخراج لملفات التفريغ. لاحظ أن هذا الدليل سيُنشأ تلقائيًا، ويجب ألا يكون موجودًا مسبقًا.
events وusers. يحتوي events على مليون صف، ويحتوي users على ألف صف.
أنشئ مثيلًا من Managed Postgres
استعادة المخطط إلى ClickHouse Managed Postgres
pg_restore:
- استبدل
<user>و<password>و<host>و<port>و<database>ببيانات اعتماد قاعدة بيانات ClickHouse Managed Postgres المستهدفة. - يوفّر
--verboseمخرجات تفصيلية أثناء عملية الاستعادة. سينشئ هذا الأمر جميع الجداول والفهارس وطرق العرض وكائنات المخطط الأخرى في قاعدة البيانات المستهدفة من دون أي بيانات.
إعداد النسخ المتماثل المنطقي
أنشئ منشورًا على قاعدة البيانات المصدر
قد يؤدي إنشاء publication باستخدام FOR ALL TABLES إلى زيادة العبء على الشبكة إذا كان هناك عدد كبير من الجداول. يُوصى بتحديد الجداول التي تريد مزامنتها فقط.
أنشئ subscription على قاعدة بيانات ClickHouse Managed Postgres المستهدفة
التحذيرات والاعتبارات
- لا ينسخ النسخ المتماثل المنطقي سوى تغييرات البيانات (INSERT, UPDATE, DELETE). أما تغييرات المخطط (مثل ALTER TABLE)، فيجب التعامل معها بشكل منفصل.
- تأكد من استقرار اتصال الشبكة بين قاعدة البيانات المصدر وقاعدة البيانات الهدف لتجنّب انقطاع النسخ المتماثل.
- راقب تأخر النسخ المتماثل للتأكد من أن قاعدة البيانات الهدف تواكب قاعدة البيانات المصدر. ويمكن أن يساعد ضبط قيمة مناسبة لـ
max_slot_wal_keep_sizeفي قاعدة البيانات المصدر على إدارة فتحة النسخ المتماثل المتنامية ومنعها من استهلاك مساحة كبيرة جدًا على القرص. - بحسب حالة الاستخدام لديك، قد ترغب في إعداد المراقبة والتنبيهات لعملية النسخ المتماثل.