PlanetScale for Postgres متاح حاليًا في مرحلة الوصول المبكر.
إصدارات Postgres المدعومة
تمكين النسخ المتماثل المنطقي
-
لتمكين النسخ المتماثل على مثيل Postgres لديك، نحتاج إلى التأكد من ضبط الإعدادات التالية:
للتحقق من ذلك، يمكنك تشغيل أمر SQL التالي:يجب أن تكون القيمة الناتجة
logicalافتراضيًا. وإذا لم تكن كذلك، فيُرجى تسجيل الدخول إلى Console الخاصة بـ PlanetScale والانتقال إلىCluster configuration->Parametersثم التمرير لأسفل إلىWrite-ahead logلتغييرها.
- بالإضافة إلى ذلك، يُوصى بزيادة الإعداد
max_slot_wal_keep_sizeمن قيمته الافتراضية البالغة 4GB. ويتم ذلك أيضًا عبر Console الخاصة بـ PlanetScale بالانتقال إلىCluster configuration->Parametersثم التمرير لأسفل إلىWrite-ahead log. للمساعدة في تحديد القيمة الجديدة، يُرجى الاطلاع هنا.
إنشاء مستخدم مع أذونات وpublication
postgres.<...>، ثم شغّل الأوامر التالية:
-
أنشئ مستخدمًا مخصصًا لـ ClickPipes:
-
امنح المستخدم الذي أنشأته في الخطوة السابقة حق الوصول للقراءة فقط على مستوى الـ schema. يوضّح المثال التالي الأذونات الخاصة بـ schema
public. كرر هذه الأوامر لكل schema يحتوي على جداول تريد تكرارها: -
امنح المستخدم امتيازات النسخ المتماثل:
- أنشئ publication يتضمن الجداول التي تريد تكرارها. نوصي بشدة بقصر الـ publication على الجداول التي تحتاجها فقط لتجنّب أي حمل إضافي على الأداء.
-
لإنشاء publication لجداول محددة:
-
لإنشاء publication لكل الجداول ضمن schema محدد:
-
لإنشاء publication لكل الجداول ضمن schema محدد:
clickpipes مجموعة الجداول التي سيتم بث أحداث التغيير الخاصة بها إلى ClickPipes. نوصي بعدم استخدام FOR ALL TABLES إلا إذا كنت تنوي تكرار كل الجداول، لأن تضمين جداول غير ضرورية يزيد من حركة WAL من Postgres إلى ClickPipes ويقلّل الكفاءة الإجمالية للنسخ المتماثل.
محاذير
- للاتصال بـ PlanetScale Postgres، يجب إلحاق الفرع الحالي باسم المستخدم الذي أُنشئ أعلاه. على سبيل المثال، إذا كان اسم المستخدم الذي أنشأته هو
clickpipes_user، فيجب أن يكون اسم المستخدم الفعلي المُستخدَم أثناء إنشاء ClickPipe هوclickpipes_user.branch، حيث يشيرbranchإلى “id” الخاص بـ الفرع الحالي في PlanetScale Postgres. ولمعرفة ذلك بسرعة، يمكنك الرجوع إلى اسم المستخدم الخاص بالمستخدمpostgresالذي استخدمته سابقًا لإنشاء هذا المستخدم؛ فالجزء الذي يلي النقطة هو معرّف الفرع. - لا تستخدم منفذ
PSBouncer(حاليًا6432) لأنابيب CDC التي تتصل بـ PlanetScale Postgres؛ إذ يجب استخدام المنفذ العادي5432. ويمكن استخدام أيٍّ من المنفذين للأنابيب المخصّصة للتحميل الأولي فقط. - يُرجى التأكد من أنك تتصل فقط بـ المثيل الأساسي، إذ إن الاتصال بالمثيلات المتماثلة غير مدعوم حاليًا.