يدعم ClickPipes Postgres الإصدار 12 وما بعده.
فعِّل النسخ المتماثل المنطقي
يأتي Crunchy Bridge مع تفعيل النسخ المتماثل المنطقي افتراضيًا. تأكد من ضبط الإعدادات أدناه بشكل صحيح. وإذا لم تكن كذلك، فعدّلها وفقًا لذلك.
SHOW wal_level; -- should be logical
SHOW max_wal_senders; -- should be 10
SHOW max_replication_slots; -- should be 10إنشاء مستخدم ClickPipes ومنح الأذونات
اتصل بـ Crunchy Bridge Postgres باستخدام المستخدم postgres، ثم شغّل الأوامر التالية:
-
أنشئ مستخدمًا مخصصًا لـ ClickPipes:
CREATE USER clickpipes_user PASSWORD 'some-password'; -
امنح المستخدم الذي أنشأته في الخطوة السابقة صلاحية وصول للقراءة فقط على مستوى المخطط. يوضّح المثال التالي الأذونات الخاصة بالمخطط
public. كرّر هذه الأوامر لكل مخطط يحتوي على جداول تريد نسخها متماثلًا:GRANT USAGE ON SCHEMA "public" TO clickpipes_user; GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user; ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user; -
امنح المستخدم امتيازات النسخ المتماثل:
ALTER USER clickpipes_user WITH REPLICATION; -
أنشئ منشورًا يتضمن الجداول التي تريد نسخها متماثلًا. نوصي بشدة بقصر المنشور على الجداول التي تحتاج إليها فقط لتجنّب أي عبء إضافي على الأداء.
-
لإنشاء منشور لجداول محددة:
CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;-
لإنشاء منشور لجميع الجداول في مخطط محدد:
CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
-
يحدّد المنشور clickpipes مجموعة الجداول التي ستُبثّ أحداث التغيير الخاصة بها إلى ClickPipes. نوصي بعدم استخدام FOR ALL TABLES ما لم تكن تنوي نسخ جميع الجداول متماثلًا، لأن تضمين جداول غير ضرورية يزيد من حركة WAL من Postgres إلى ClickPipes ويقلّل من الكفاءة الإجمالية للنسخ المتماثل.
إضافة عناوين IP الخاصة بـ ClickPipes إلى قائمة السماح
أضِف ClickPipes IPs إلى قائمة السماح عبر إضافة قواعد جدار الحماية في Crunchy Bridge.


ما الخطوة التالية؟
يمكنك الآن إنشاء ClickPipe الخاص بك وبدء إدخال البيانات من مثيل Postgres لديك إلى ClickHouse Cloud. احرص على تدوين تفاصيل الاتصال التي استخدمتها أثناء إعداد مثيل Postgres، إذ ستحتاج إليها خلال عملية إنشاء ClickPipe.