Skip to main content
تتناول الأسئلة الشائعة حول ClickPipes for Postgres العديد من الأسئلة المتعلقة بكيفية عمل النسخ المتماثل في Postgres — بما في ذلك أعمدة TOAST، وفتحات النسخ المتماثل، والمنشورات، وتغييرات المخطط، وتعيينات الأنواع. وتنطبق المعلومات الواردة هناك أيضًا على عمليات الترحيل إلى ClickHouse Managed Postgres.

أواجه خطأ “invalid input value for enum” أثناء النسخ المتماثل

يحدث هذا الخطأ عندما يحتوي Postgres المصدر على قيمة enum غير موجودة في ClickHouse Managed Postgres الهدف. لا ينقل النسخ المتماثل المنطقي أوامر ALTER TYPE ... ADD VALUE تلقائيًا، لذلك فإن أي قيم enum جديدة تُضاف إلى المصدر بعد الإعداد الأولي للمخطط ستؤدي إلى فشل عمليات الإدراج على الهدف. لإصلاح ذلك، أضف القيمة المفقودة إلى نوع enum في Postgres الهدف:
استبدل your_enum_type باسم نوع enum الخاص بك، و'new_value' بالقيمة المفقودة الواردة في رسالة الخطأ.

يظهر لي خطأ انتهاك قيد فريد أو قيد تحقق أثناء النسخ المتماثل

قد تحدث انتهاكات للقيود أثناء النسخ المتماثل المنطقي عندما يؤدي ترتيب النسخ المتماثل إلى تعارض مع قيد موجود على الهدف.
  • القيود الفريدة: نطبّق التغييرات كعمليات MERGE/UPSERT مجمّعة تكتب أحدث قيمة لكل مفتاح أساسي، لذا قد لا يتوافق ترتيب العمليات لمفتاح معيّن مع الترتيب الذي يتوقعه الفهرس الفريد. وقد يؤدي ذلك مؤقتًا إلى انتهاك قيد UNIQUE ضمن المعاملة، رغم استيفاء القيد عند اكتمال MERGE. لا يستطيع Postgres تأجيل التحقق من الفهارس الفريدة كما يؤجل التحقق من المفاتيح الخارجية، لذا لا يمكن تأجيل هذا التحقق إلى نهاية المعاملة. لا يؤثر ذلك في اتساق البيانات: إذ تُحدَّد هوية الصف بالمفتاح الأساسي، ويعتمد منطق MERGE على المفتاح الأساسي نفسه.
  • قيود التحقق: قد يكون قيد التحقق على الهدف أكثر صرامة من المصدر، أو قد لا تستوفي حالة وسيطة أثناء تنفيذ MERGE مجمّع هذا القيد، رغم أن الحالة النهائية تستوفيه. وكما هو الحال مع القيود الفريدة، لا يؤثر ذلك في اتساق البيانات، إذ يعتمد MERGE على المفتاح الأساسي الذي يحدد هوية الصف.
لإعادة تشغيل النسخ المتماثل، احذف القيد المسبّب للمشكلة من Postgres الهدف:
يمكنك العثور على تفاصيل القيد باستخدام الاسم المذكور في رسالة الخطأ:
أعِد إضافة القيود أثناء التحويل، بعد اكتمال النسخ المتماثل وتوقف المصدر عن العمل:
آخر تعديل في ١٤ أغسطس ٢٠٢٦