[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不支持值转换。将使用数据类型的默认值。