通用 Postgres 源设置指南
如果您使用受支持的提供商之一(在侧边栏中),请参阅该提供商的特定指南。
ClickPipes 支持 Postgres 版本 12 及更高版本。
启用逻辑复制
-
要启用 Postgres 实例上的复制,我们需要确保设置以下设置
wal_level = logical
要检查相同内容,您可以运行以下 SQL 命令
SHOW wal_level;
输出应为
logical
。如果不是,请运行ALTER SYSTEM SET wal_level = logical;
-
此外,建议在 Postgres 实例上设置以下设置
max_wal_senders > 1
max_replication_slots >= 4要检查相同内容,您可以运行以下 SQL 命令
SHOW max_wal_senders;
SHOW max_replication_slots;如果值与建议值不符,您可以运行以下 SQL 命令来设置它们
ALTER SYSTEM SET max_wal_senders = 10;
ALTER SYSTEM SET max_replication_slots = 10; -
如果您对上述配置进行了任何更改,您需要重新启动 Postgres 实例以使更改生效。
创建具有权限和发布的用户
让我们为 ClickPipes 创建一个新用户,该用户具有适用于 CDC 的必要权限,并创建一个我们将用于复制的发布。
为此,您可以连接到您的 Postgres 实例并运行以下 SQL 命令
CREATE USER clickpipes_user PASSWORD 'clickpipes_password';
GRANT USAGE ON SCHEMA "public" TO clickpipes_user;
GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user;
-- Give replication permission to the USER
ALTER USER clickpipes_user REPLICATION;
-- Create a publication. We will use this when creating the pipe
CREATE PUBLICATION clickpipes_publication FOR ALL TABLES;
请务必将 clickpipes_user
和 clickpipes_password
替换为您所需的用户名和密码。
在 pg_hba.conf 中为 ClickPipes 用户启用连接
如果您是自助服务,您需要按照以下步骤允许从 ClickPipes IP 地址连接到 ClickPipes 用户。如果您使用的是托管服务,您可以按照提供商的文档执行相同的操作。
-
对
pg_hba.conf
文件进行必要的更改,以允许从 ClickPipes IP 地址连接到 ClickPipes 用户。pg_hba.conf
文件中的示例条目如下所示host all clickpipes_user 0.0.0.0/0 scram-sha-256
-
重新加载 PostgreSQL 实例以使更改生效
SELECT pg_reload_conf();
增加 max_slot_wal_keep_size
这是一个建议的配置更改,以确保大型事务/提交不会导致复制槽被删除。
您可以通过更新 postgresql.conf
文件,将 PostgreSQL 实例的 max_slot_wal_keep_size
参数增加到更高的值(至少 100GB 或 102400
)。
max_slot_wal_keep_size = 102400
您可以重新加载 Postgres 实例以使更改生效
SELECT pg_reload_conf();
为了更好地推荐此值,您可以联系 ClickPipes 团队。
下一步是什么?
您现在可以创建您的 ClickPipe 并开始将数据从您的 Postgres 实例摄取到 ClickHouse Cloud 中。请务必记下您在设置 Postgres 实例时使用的连接详细信息,因为您在 ClickPipe 创建过程中将需要它们。