> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-trino-dialect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# الأسئلة الشائعة حول عمليات ترحيل ClickHouse Managed Postgres

> الأسئلة الشائعة حول ترحيل البيانات إلى ClickHouse Managed Postgres.

export const PrivatePreviewBadge = () => {
  return <div className="privatePreviewBadge">
            <div className="privatePreviewIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M5.33301 6.66667V4.66667V4.66667C5.33301 3.194 6.52701 2 7.99967 2V2C9.47234 2 10.6663 3.194 10.6663 4.66667V4.66667V6.66667" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path d="M8.00033 9.33337V11.3334" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path fillRule="evenodd" clipRule="evenodd" d="M11.333 14H4.66634C3.92967 14 3.33301 13.4033 3.33301 12.6666V7.99996C3.33301 7.26329 3.92967 6.66663 4.66634 6.66663H11.333C12.0697 6.66663 12.6663 7.26329 12.6663 7.99996V12.6666C12.6663 13.4033 12.0697 14 11.333 14Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            {'معاينة خاصة في ClickHouse Cloud'}
        </div>;
};

<PrivatePreviewBadge link="https://clickhouse.com/cloud/postgres" galaxyTrack={true} slug="migrations-faq" />

تتناول [الأسئلة الشائعة حول ClickPipes for Postgres](/ar/integrations/clickpipes/postgres/faq) العديد من الأسئلة المتعلقة بكيفية عمل النسخ المتماثل في Postgres — بما في ذلك أعمدة `TOAST`، وفتحات النسخ المتماثل، والمنشورات، وتغييرات المخطط، وتعيينات الأنواع. وتنطبق المعلومات الواردة هناك أيضًا على عمليات الترحيل إلى ClickHouse Managed Postgres.

<div id="invalid-enum-value">
  ### أواجه خطأ "invalid input value for enum" أثناء النسخ المتماثل
</div>

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

لإصلاح ذلك، أضف القيمة المفقودة إلى نوع enum في Postgres الهدف:

```sql theme={null}
ALTER TYPE your_enum_type ADD VALUE 'new_value';
```

استبدل `your_enum_type` باسم نوع enum الخاص بك، و`'new_value'` بالقيمة المفقودة الواردة في رسالة الخطأ.

<div id="constraint-violation">
  ### يظهر لي خطأ انتهاك قيد فريد أو قيد تحقق أثناء النسخ المتماثل
</div>

قد تحدث انتهاكات للقيود أثناء النسخ المتماثل المنطقي عندما يؤدي ترتيب النسخ المتماثل إلى تعارض مع قيد موجود على الهدف.

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

لإعادة تشغيل النسخ المتماثل، احذف القيد المسبّب للمشكلة من Postgres الهدف:

```sql theme={null}
-- Drop a unique constraint
ALTER TABLE your_table DROP CONSTRAINT your_constraint_name;

-- Drop a check constraint
ALTER TABLE your_table DROP CONSTRAINT your_check_constraint_name;
```

يمكنك العثور على تفاصيل القيد باستخدام الاسم المذكور في رسالة الخطأ:

```sql theme={null}
SELECT conname, conrelid::regclass, contype
FROM pg_constraint
WHERE conname = 'your_constraint_name';
```

أعِد إضافة القيود أثناء التحويل، بعد اكتمال النسخ المتماثل وتوقف المصدر عن العمل:

```sql theme={null}
ALTER TABLE your_table ADD CONSTRAINT your_constraint_name UNIQUE (column1, column2);
ALTER TABLE your_table ADD CONSTRAINT your_check_constraint_name CHECK (column1 > 0);
```
