背景
Managed Service for TimescaleTimescale Cloud.
支持的 Postgres 版本
启用逻辑复制
- 如果您使用的是托管服务,且您的提供商已列在侧边栏中,请按照该提供商对应的指南操作。
- 如果您是自行部署 TimescaleDB,请按照通用指南操作。
Timescale Cloud 不支持启用逻辑复制,而 Postgres 管道在 CDC 模式下需要此功能。
因此,Timescale Cloud 用户只能通过
Postgres ClickPipe 对其数据执行一次性加载 (
Initial Load Only) 。配置
_timescaledb_internal schema 下。对于在 hypertable 上执行查询,这并不是问题。但在逻辑复制期间,我们检测到的不是 hypertable 中的变更,而是 chunk 表中的变更。Postgres ClickPipe 内置了自动将 chunk 表中的变更重新映射到父 hypertable 的逻辑,但这需要额外的配置步骤。
如果你只想对数据执行一次性加载 (
Initial Load Only) ,请跳过第 2 步及后续步骤。-
为 ClickPipes 创建一个专用用户:
-
为你在上一步中创建的用户授予 schema 级只读权限。以下示例展示了
publicschema 的权限。请对每个包含你想要复制的表的 schema 重复执行这些命令: -
向该用户授予复制权限:
-
以 Postgres superuser/admin 身份,使用你想要复制的 hypertable 创建一个 publication。该 publication 还必须包含整个
_timescaledb_internalschema,这样管道才能接收底层 chunk 表的变更。我们强烈建议仅在 publication 中包含所需的表,以避免额外的性能开销。
clickpipes publication 将包含从指定表生成的一组变更事件,后续会用于摄取复制流。
某些托管服务不会向其管理员用户授予为整个 schema 创建 publication 所需的权限。如果遇到这种情况,请向你的提供商提交支持工单。或者,你也可以跳过这一步 (以及后续步骤) ,改为对数据执行一次性加载。