- استخدام محرك الجدول
PostgreSQLللقراءة من جدول في PostgreSQL - استخدام محرك قاعدة البيانات التجريبي
MaterializedPostgreSQLلمزامنة قاعدة بيانات في PostgreSQL مع قاعدة بيانات في ClickHouse
استخدام محرك الجدول PostgreSQL
PostgreSQL تنفيذ عمليتي SELECT وINSERT على البيانات المخزنة على خادم PostgreSQL البعيد من داخل ClickHouse.
تهدف هذه المقالة إلى توضيح طرق التكامل الأساسية باستخدام جدول واحد.
1. إعداد PostgreSQL
- في ملف
postgresql.conf، أضِف الإدخال التالي لتمكين PostgreSQL من الاستماع عبر واجهات الشبكة:
- أنشئ مستخدمًا للاتصال عبر ClickHouse. ولأغراض التوضيح، يمنح هذا المثال صلاحيات مستخدم فائق كاملة.
- أنشئ قاعدة بيانات جديدة في PostgreSQL:
- أنشئ جدولًا جديدًا:
- لنُضِف بضعة صفوف للاختبار:
- لتهيئة PostgreSQL للسماح بإجراء اتصالات بقاعدة البيانات الجديدة باستخدام المستخدم الجديد لأغراض النسخ المتماثل، أضف الإدخال التالي إلى ملف
pg_hba.conf. حدِّث سطر العنوان باستخدام الشبكة الفرعية أو عنوان IP لخادم PostgreSQL:
- أعد تحميل إعدادات
pg_hba.conf(عدّل هذا الأمر وفقًا لإصدارك):
- تحقّق من إمكانية تسجيل دخول المستخدم الجديد
clickhouse_user:
إذا كنت تستخدم هذه الميزة في ClickHouse Cloud، فقد تحتاج إلى السماح لعناوين IP الخاصة بـ ClickHouse Cloud بالوصول إلى مثيل PostgreSQL لديك.
راجع واجهة برمجة تطبيقات Cloud Endpoints في ClickHouse للاطّلاع على تفاصيل حركة المرور الصادرة.
2. عرّف جدولًا في ClickHouse
- سجّل الدخول إلى
clickhouse-client:
- لننشئ قاعدة بيانات جديدة:
- أنشئ جدولًا يستخدم
PostgreSQL:
| المعلمة | الوصف | المثال |
|---|---|---|
| host:port | اسم المضيف أو عنوان IP والمنفذ | postgres-host.domain.com:5432 |
| database | اسم قاعدة بيانات PostgreSQL | db_in_psg |
| user | اسم المستخدم للاتصال بـ Postgres | clickhouse_user |
| password | كلمة المرور للاتصال بـ Postgres | ClickHouse_123 |
راجع صفحة وثائق محرك الجدول PostgreSQL للحصول على قائمة كاملة بالمعلمات.
3 اختبر التكامل
- في ClickHouse، اعرض الصفوف المبدئية:
- في PostgreSQL مرة أخرى، أضف صفَّين إلى الجدول:
- من المفترض أن يظهر هذان الصفّان الجديدان في جدول ClickHouse لديك:
- لنرَ ما يحدث عند إضافة صفوف إلى جدول ClickHouse:
- يجب أن تظهر الصفوف المضافة إلى ClickHouse في الجدول في PostgreSQL:
PostrgeSQL.
اطّلع على صفحة التوثيق الخاصة بمحرك جدول PostgreSQL لمزيد من الميزات، مثل تحديد المخططات، وإرجاع مجموعة فرعية من الأعمدة فقط، والاتصال بعدة نُسخ متماثلة. واطّلع أيضًا على مدونة ClickHouse and PostgreSQL - a match made in data heaven - part 1.
استخدام محرك قاعدة البيانات MaterializedPostgreSQL
1. في PostgreSQL
- في
postgresql.conf، عيّن الحد الأدنى لمستويات الاستماع، ومستوىWALللنسخ المتماثل، وفتحات النسخ المتماثل:
logical، وحدًا أدنى قدره 2 من replication slots
- باستخدام حساب مسؤول، أنشئ مستخدمًا لكي يتصل ClickHouse من خلاله:
- أنشئ قاعدة بيانات جديدة:
- اتصل بقاعدة البيانات الجديدة باستخدام
psql:
- أنشئ جدولًا جديدًا:
- أضف الصفوف الأولية:
- اضبط PostgreSQL للسماح بالاتصال بقاعدة البيانات الجديدة باستخدام المستخدم الجديد لأغراض النسخ المتماثل. فيما يلي الحد الأدنى من الإدخالات التي يجب إضافتها إلى ملف
pg_hba.conf:
- أعد تحميل إعداد
pg_hba.confبشيءٍ مثل هذا (عدِّله بما يناسب إصدارك):
- اختبر تسجيل الدخول باستخدام اسم المستخدم الجديد
clickhouse_user:
2. في ClickHouse
- سجّل الدخول إلى ClickHouse CLI
- فعِّل الميزة التجريبية لـ PostgreSQL في محرك قاعدة البيانات:
- أنشئ قاعدة البيانات الجديدة التي ستخضع للنسخ المتماثل، وعرّف الجدول الأولي:
| المعلمة | الوصف | مثال |
|---|---|---|
| host:port | اسم المضيف أو عنوان IP والمنفذ | postgres-host.domain.com:5432 |
| database | اسم قاعدة بيانات PostgreSQL | db1 |
| user | اسم المستخدم للاتصال بـ Postgres | clickhouse_user |
| password | كلمة المرور للاتصال بـ Postgres | ClickHouse_123 |
| settings | إعدادات إضافية للمحرّك | materialized_postgresql_tables_list = ‘table1’ |
للاطلاع على الدليل الكامل لمحرك قاعدة البيانات PostgreSQL، راجع https://clickhouse.com/docs/engines/database-engines/materialized-postgresql/#settings
- تحقّق من أن الجدول الأول يحتوي على بيانات:
3. اختبار النسخ المتماثل الأساسي
- في PostgreSQL، أضِف صفوفًا جديدة:
- في ClickHouse، تأكّد من ظهور الصفوف الجديدة:
4. الملخص
للاطلاع على مزيد من الميزات المتاحة ضمن الخيارات المتقدمة، يُرجى مراجعة الوثائق المرجعية.