الانتقال إلى المحتوى الرئيسي
يتيح الاتصال بقواعد البيانات على خادم PostgreSQL بعيد. ويدعم عمليات القراءة والكتابة (استعلامات SELECT وINSERT) لتبادل البيانات بين ClickHouse وPostgreSQL. يوفّر وصولًا في الوقت الفعلي إلى قائمة الجداول وبنية الجداول على خادم PostgreSQL البعيد باستخدام استعلامَي SHOW TABLES وDESCRIBE TABLE. ويدعم تعديل بنية الجداول (ALTER TABLE ... ADD|DROP COLUMN). إذا جرى تعيين المَعلمة use_table_cache (انظر معلمات المحرك أدناه) إلى 1، فستُخزَّن بنية الجدول مؤقتًا ولن يُتحقق من حدوث أي تعديل عليها، ولكن يمكن تحديثها باستخدام استعلامَي DETACH وATTACH.

إنشاء قاعدة بيانات

معلمات المحرّك
  • host:port — عنوان خادم PostgreSQL.
  • database — اسم قاعدة البيانات البعيدة.
  • user — مستخدم PostgreSQL.
  • password — كلمة مرور المستخدم.
  • schema — مخطط PostgreSQL.
  • use_table_cache — يحدّد ما إذا كانت بنية جدول قاعدة البيانات مخزنة مؤقتًا أم لا. اختياري. القيمة الافتراضية: 0.

دعم أنواع البيانات

يُحوَّل numeric(p, 0) في PostgreSQL عندما تكون الدقة p أكبر من 76 (وهو الحد الأقصى الذي يدعمه Decimal256) — على سبيل المثال numeric(78, 0)، وهو يُستخدم عادةً لتخزين أعداد صحيحة بعرض 256 بت — إلى Int256 بدلًا من Decimal. وتُرفض القيم التي لا تقع ضمن نطاق Int256 مع ظهور error.

أمثلة على الاستخدام

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