يُنصح مستخدمو ClickHouse Cloud باستخدام ClickPipes لنسخ البيانات من PostgreSQL إلى ClickHouse. يوفّر هذا دعمًا أصيلاً وعالي الأداء لتقنية Change Data Capture (CDC) في PostgreSQL.
محرك الجدول هذا تجريبي. لاستخدامه، اضبط
allow_experimental_materialized_postgresql_table على 1 في ملفات الإعدادات لديك أو باستخدام الأمر SET:materialized_postgresql_tables_list الذي يحدّد الجداول المطلوب نسخها متماثلًا (وسيصبح من الممكن أيضًا إضافة schema قاعدة البيانات). وسيكون ذلك أفضل بكثير من حيث استهلاك CPU، وتقليل عدد الاتصالات، وتقليل عدد replication slots داخل قاعدة بيانات PostgreSQL البعيدة.
إنشاء جدول
host:port— عنوان خادم PostgreSQL.database— اسم قاعدة البيانات البعيدة.table— اسم الجدول البعيد.user— اسم مستخدم PostgreSQL.password— كلمة مرور المستخدم.
المتطلبات
-
يجب أن تكون قيمة الإعداد wal_level هي
logical، كما يجب أن تكون قيمة المعاملmax_replication_slots2على الأقل في ملف إعدادات PostgreSQL. -
يجب أن يحتوي الجدول ذو محرك
MaterializedPostgreSQLعلى مفتاح أساسي يطابق فهرس هوية النسخة المتماثلة (replica identity) لجدول PostgreSQL (افتراضيًا: المفتاح الأساسي) (راجع التفاصيل حول فهرس هوية النسخة المتماثلة). - يُسمح فقط بقاعدة بيانات Atomic.
-
لا يعمل محرك الجدول
MaterializedPostgreSQLإلا مع إصدارات PostgreSQL >= 11، لأن التنفيذ يتطلب دالة PostgreSQL pg_replication_slot_advance.
الأعمدة الافتراضية
-
_version— عدّاد المعاملات. النوع: UInt64. -
_sign— علامة الحذف. النوع: Int8. القيم الممكنة:1— الصف غير محذوف،-1— الصف محذوف.
SELECT.
تعادل قيمة العمود _version موضع LSN في WAL، لذلك يمكن استخدامه للتحقق من مدى حداثة النسخ المتماثل.
لا يدعم النسخ المتماثل لقيم TOAST. وستُستخدم القيمة الافتراضية لنوع البيانات.