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

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

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

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

قد تحدث انتهاكات القيد الفريد أثناء النسخ المتماثل المنطقي عندما يتسبب ترتيب النسخ في تعارض مع قيد فريد موجود مسبقًا على نظام Postgres الهدف. ويمكن أن يحدث ذلك في أعباء عمل CDC التي تتضمن إعادة تنفيذ عمليات تنتهك شرط التفرد مؤقتًا قبل أن يعالجها تحديث لاحق. لفك حظر النسخ المتماثل، احذف القيد الفريد من Postgres الهدف:
ALTER TABLE your_table DROP CONSTRAINT your_constraint_name;
يمكنك العثور على اسم القيد عبر تشغيل:
SELECT conname, conrelid::regclass
FROM pg_constraint
WHERE contype = 'u';
أعِد إضافة القيد عند التحويل النهائي، بعد اكتمال النسخ المتماثل وعدم بقاء المصدر نشطًا:
ALTER TABLE your_table ADD CONSTRAINT your_constraint_name UNIQUE (column1, column2);
آخر تعديل في ٢٥ يونيو ٢٠٢٦