الانتقال إلى المحتوى الرئيسي
‏PlanetScale for Postgres متاح حاليًا في مرحلة الوصول المبكر.

إصدارات Postgres المدعومة

يدعم ClickPipes الإصدار 12 من Postgres وما بعده.

فعِّل النسخ المنطقي

  1. لتمكين النسخ المتماثل على مثيل Postgres لديك، نحتاج إلى التأكد من تعيين الإعدادات التالية:
    wal_level = logical
    
    للتحقق من ذلك، يمكنك تشغيل أمر SQL التالي:
    SHOW wal_level;
    
    يجب أن تكون القيمة الناتجة logical افتراضيًا. إذا لم تكن كذلك، فيُرجى تسجيل الدخول إلى وحدة تحكم PlanetScale والانتقال إلى Cluster configuration->Parameters ثم التمرير لأسفل إلى Write-ahead log لتغييرها.
سيؤدي تغيير هذا الإعداد في وحدة تحكم PlanetScale إلى إعادة التشغيل.
  1. بالإضافة إلى ذلك، يُوصى بزيادة الإعداد max_slot_wal_keep_size من قيمته الافتراضية البالغة 4GB. ويتم ذلك أيضًا عبر وحدة تحكم PlanetScale بالانتقال إلى Cluster configuration->Parameters ثم التمرير لأسفل إلى Write-ahead log. للمساعدة في تحديد القيمة الجديدة، يُرجى الاطلاع هنا.

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

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

محاذير

  1. للاتصال بـ PlanetScale Postgres، يجب إلحاق الفرع الحالي باسم المستخدم الذي أُنشئ أعلاه. على سبيل المثال، إذا كان اسم المستخدم الذي أنشأته هو clickpipes_user، فيجب أن يكون اسم المستخدم الفعلي المُستخدَم أثناء إنشاء ClickPipe هو clickpipes_user.branch، حيث يشير branch إلى “id” الخاص بـ الفرع الحالي في PlanetScale Postgres. ولمعرفة ذلك بسرعة، يمكنك الرجوع إلى اسم المستخدم الخاص بالمستخدم postgres الذي استخدمته سابقًا لإنشاء هذا المستخدم؛ فالجزء الذي يلي النقطة هو معرّف الفرع.
  2. لا تستخدم منفذ PSBouncer (حاليًا 6432) لأنابيب CDC التي تتصل بـ PlanetScale Postgres؛ إذ يجب استخدام المنفذ العادي 5432. ويمكن استخدام أيٍّ من المنفذين للأنابيب المخصّصة للتحميل الأولي فقط.
  3. يُرجى التأكد من أنك تتصل فقط بـ المثيل الأساسي، إذ إن الاتصال بالمثيلات المتماثلة غير مدعوم حاليًا.

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

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