[experimental] MaterializedPostgreSQL
使用PostgreSQL数据库表的初始数据转储创建ClickHouse数据库,并启动复制过程,即执行后台作业,以便在远程PostgreSQL数据库中的PostgreSQL数据库表上发生新更改时应用这些更改。
ClickHouse服务器作为PostgreSQL副本工作。它读取WAL并执行DML查询。DDL不是复制的,但可以处理(如下所述)。
创建数据库
Engine参数
host:port
— PostgreSQL服务地址database
— PostgreSQL数据库名user
— PostgreSQL用户名password
— 用户密码
设置
必备条件
-
在postgresql配置文件中将wal_level设置为
logical
,将max_replication_slots
设置为2
。 -
每个复制表必须具有以下一个replica identity:
-
default (主键)
-
index
总是先检查主键。如果不存在,则检查索引(定义为副本标识索引)。 如果使用index作为副本标识,则表中必须只有一个这样的索引。 你可以用下面的命令来检查一个特定的表使用了什么类型:
注意
- TOAST不支持值转换。将使用数据类型的默认值。