[экспериментальный] MaterializedPostgreSQL
Создает базу данных ClickHouse с исходным дампом данных таблиц PostgreSQL и запускает процесс репликации, т.е. выполняется применение новых изменений в фоне, как эти изменения происходят в таблице PostgreSQL в удаленной базе данных PostgreSQL.
Сервер ClickHouse работает как реплика PostgreSQL. Он читает WAL и выполняет DML запросы. Данные, полученные в результате DDL запросов, не реплицируются, но сами запросы могут быть обработаны (описано ниже).
Создание базы данных
CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster]
ENGINE = MaterializedPostgreSQL('host:port', ['database' | database], 'user', 'password') [SETTINGS ...]
Параметры движка
host:port
— адрес сервера PostgreSQL.database
— имя базы данных на удалённом сервере.user
— пользователь PostgreSQL.password
— пароль пользователя.
Динамическое добавление новых таблиц в репликацию
ATTACH TABLE postgres_database.new_table;
При указании конкретного списка таблиц в базе с помощью настройки materialized_postgresql_tables_list, он будет обновлен (в .sql
метаданных) на актуальный с учетом таблиц, добавленных с помощью запроса ATTACH TABLE
.