الانتقال إلى المحتوى الرئيسي
إذا كنت تستخدم أحد المزوّدين المدعومين (في الشريط الجانبي)، فيُرجى الرجوع إلى الدليل المخصّص لذلك المزوّد.
يدعم ClickPipes الإصدار 12 من Postgres وما بعده.

تمكين النسخ المتماثل المنطقي

  1. لتمكين النسخ المتماثل على مثيل Postgres لديك، نحتاج إلى التأكد من ضبط الإعدادات التالية:
    wal_level = logical
    
    للتحقق من ذلك، يمكنك تشغيل أمر SQL التالي:
    SHOW wal_level;
    
    يجب أن تكون النتيجة logical. وإذا لم تكن كذلك، فنفّذ:
    ALTER SYSTEM SET wal_level = logical;
    
  2. بالإضافة إلى ذلك، يُوصى بضبط الإعدادات التالية على مثيل Postgres:
    max_wal_senders > 1
    max_replication_slots >= 4
    
    للتحقق من ذلك، يمكنك تشغيل أوامر SQL التالية:
    SHOW max_wal_senders;
    SHOW max_replication_slots;
    
    إذا لم تطابق القيمُ القيمَ الموصى بها، فيمكنك تشغيل أوامر SQL التالية لضبطها:
    ALTER SYSTEM SET max_wal_senders = 10;
    ALTER SYSTEM SET max_replication_slots = 10;
    
  3. إذا أجريت أي تغييرات على الإعدادات كما هو موضح أعلاه، فيجب عليك إعادة تشغيل مثيل Postgres لكي تسري التغييرات.

إنشاء مستخدم مع الأذونات والمنشور

اتصل بمثيل Postgres باستخدام مستخدم Admin ونفّذ الأوامر التالية:
  1. أنشئ مستخدمًا مخصّصًا لـ ClickPipes:
    CREATE USER clickpipes_user PASSWORD 'some-password';
    
  2. امنح المستخدم الذي أنشأته في الخطوة السابقة صلاحية الوصول على مستوى المخطط بصلاحية القراءة فقط. يوضّح المثال التالي الأذونات الخاصة بمخطط 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;
    
  3. امنح المستخدم امتيازات النسخ المتماثل:
    ALTER USER clickpipes_user WITH REPLICATION;
    
  4. أنشئ منشورًا يتضمن الجداول التي تريد تضمينها في النسخ المتماثل. نوصي بشدة بقصر المنشور على الجداول التي تحتاج إليها فقط لتجنّب أي عبء إضافي على الأداء.
يجب أن يكون لأي جدول مُدرج في المنشور مفتاح أساسي معرّف، أو أن تكون هوية النسخة المتماثلة الخاصة به مضبوطة على FULL. راجع الأسئلة الشائعة الخاصة بـ Postgres للحصول على إرشادات حول تحديد النطاق.
  • لإنشاء منشور لجداول محددة:
    CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
    
    • لإنشاء منشور لكل الجداول ضمن مخطط محدد:
      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
      
سيحتوي المنشور clickpipes على مجموعة أحداث التغيير الناتجة عن الجداول المحددة، وسيُستخدم لاحقًا لاستيعاب دفق النسخ المتماثل.

تمكين الاتصالات في pg_hba.conf لمستخدم ClickPipes

إذا كنت تستضيف الخدمة بنفسك، فأنت بحاجة إلى السماح باتصالات مستخدم ClickPipes الواردة من عناوين IP الخاصة بـ ClickPipes باتباع الخطوات أدناه. وإذا كنت تستخدم خدمة مُدارة، فيمكنك فعل الشيء نفسه باتباع وثائق المزوّد.
  1. أجرِ التعديلات اللازمة على ملف pg_hba.conf للسماح باتصالات مستخدم ClickPipes الواردة من عناوين IP الخاصة بـ ClickPipes. سيبدو مثال على مُدخل في ملف pg_hba.conf كما يلي:
    host    all   clickpipes_user     0.0.0.0/0          scram-sha-256
    
  2. أعد تحميل مثيل PostgreSQL لتصبح التغييرات نافذة:
    SELECT pg_reload_conf();
    

زيادة max_slot_wal_keep_size

هذا تغيير مُوصى به في الإعدادات لضمان ألّا تؤدي المعاملات الكبيرة أو عمليات commit إلى إسقاط فتحة النسخ المتماثل. يمكنك زيادة قيمة المعلمة max_slot_wal_keep_size لمثيل PostgreSQL لديك إلى قيمة أعلى (100GB على الأقل أو 102400) عبر تحديث ملف postgresql.conf.
max_slot_wal_keep_size = 102400
يمكنك إعادة تحميل مثيل Postgres لتصبح التغييرات نافذة:
SELECT pg_reload_conf();
للحصول على توصية أدق بشأن هذه القيمة، يمكنك التواصل مع فريق ClickPipes.

ما الخطوة التالية؟

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