الانتقال إلى المحتوى الرئيسي
عند استخدام الأعمدة المُولَّدة في PostgreSQL ضمن الجداول التي تخضع للنسخ المتماثل، هناك بعض الاعتبارات المهمة التي يجب مراعاتها. وقد تؤثر هذه المحاذير في عملية النسخ المتماثل واتساق البيانات في الأنظمة الوجهة.

مشكلة الأعمدة المُولَّدة

  1. غير منشورة عبر pgoutput: لا تُنشر الأعمدة المُولَّدة عبر المكوّن الإضافي pgoutput الخاص بالنسخ المتماثل المنطقي. وهذا يعني أنه عند نسخ البيانات من PostgreSQL إلى نظام آخر، لا تُضمَّن قيم الأعمدة المُولَّدة في تدفّق النسخ المتماثل.
  2. مشكلات في المفتاح الأساسي: إذا كان عمود مُولَّد جزءًا من المفتاح الأساسي، فقد يسبب ذلك مشكلات في إزالة الازدواجية في الوجهة. وبما أن قيم الأعمدة المُولَّدة لا تُنسخ ضمن النسخ المتماثل، فلن تتوفر لدى نظام الوجهة المعلومات اللازمة لتحديد الصفوف وإزالة ازدواجيتها على نحو صحيح.
  3. مشكلات في تغييرات المخطط: إذا أضفت عمودًا مُولَّدًا إلى جدول يخضع للنسخ المتماثل بالفعل، فلن تتم تعبئة العمود الجديد في الوجهة، لأن Postgres لا يزوّدنا بـ RelationMessage الخاص بالعمود الجديد. وإذا أضفت بعد ذلك عمودًا جديدًا غير مُولَّد إلى الجدول نفسه، فلن يتمكن ClickPipe، عند محاولة مواءمة المخطط، من العثور على العمود المُولَّد في الوجهة، مما يؤدي إلى فشل عملية النسخ المتماثل.

أفضل الممارسات

للتغلب على هذه القيود، ضع في اعتبارك أفضل الممارسات التالية:
  1. أعِد إنشاء الأعمدة المُولَّدة في الوجهة: بدلًا من الاعتماد على عملية النسخ المتماثل لمعالجة الأعمدة المُولَّدة، يُوصى بإعادة إنشاء هذه الأعمدة في الوجهة باستخدام أدوات مثل dbt (أداة بناء البيانات) أو غيرها من آليات تحويل البيانات.
  2. تجنّب استخدام الأعمدة المُولَّدة في المفتاح الأساسي: عند تصميم الجداول التي ستخضع للنسخ المتماثل، من الأفضل تجنّب تضمين الأعمدة المُولَّدة كجزء من المفتاح الأساسي.

التحسينات القادمة على واجهة المستخدم

في الإصدارات القادمة، نخطط لإضافة واجهة مستخدم لمساعدتك في ما يلي:
  1. تحديد الجداول التي تحتوي على أعمدة مُولَّدة: ستتضمن واجهة المستخدم ميزة لتحديد الجداول التي تحتوي على أعمدة مُولَّدة. سيساعدك ذلك على فهم الجداول المتأثرة بهذه المشكلة.
  2. التوثيق وأفضل الممارسات: ستتضمن واجهة المستخدم أفضل الممارسات لاستخدام الأعمدة المُولَّدة في الجداول المُكرَّرة، بما في ذلك إرشادات حول كيفية تجنّب المشكلات الشائعة.
آخر تعديل في ٢٥ يونيو ٢٠٢٦