开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC对pg数据库可以同步整个库吗?postgresql数据库

Flink CDC对pg数据库可以同步整个库吗?postgresql数据库

展开
收起
cuicuicuic 2023-07-02 16:49:56 68 0
2 条回答
写回答
取消 提交回答
  • 对于 PostgreSQL 数据库,Flink CDC 支持同步整个数据库的所有表。以下是具体操作步骤:

    1. 首先,安装和启动 PgLogical 来避免同步暂停。可以使用以下命令:

    $ sudo -u postgres /usr/pgsql-11/bin/pglogical replicate setup \
    --replication-sets my_replication \
    --dbname=db_name \
    --user=username \
    --password=password \
    --set=my_replication \
    --pool=default
    

    2. 在 Flink CDC 的配置文件中,指定要同步的数据库名称,并进行相应的配置,例如:

    connector.startup-modes = initial
    table.catalog = catalogName
    table.schema = schemaName
    ...
    connector.uri = "postgresql://localhost:5432/database_name"
    

    3. 运行 Flink CDC 作业。Flink CDC 会自动发现 PostgreSQL 数据库中的所有表,并进行 schema 解析和初始化。然后,它将实时消费表的变更事件(DML)。

    用户还可以根据需要进行表的过滤或选择性同步:

    - 可以通过在配置文件中添加以下属性来过滤不需要同步的表:

    table.ignore-tables = exclude .ignore_this_table., exclude .another_table.
    

    - 或者,可以单独指定要同步的表:

    table.include-tables = only .need_to_sync_this_table.
    

    使用以上配置方式,您可以让 Flink CDC 同步 PostgreSQL 数据库中的所有表或者选择特定的表进行同步。在初始化时,Flink CDC 会读取所有表的 schema,并实时消费变更日志。

    2023-07-30 12:56:11
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    对于PostgreSQL数据库,Flink CDC支持同步整个数据库的所有表。
    具体操作步骤是:
    安装和启动PgLogical避免同步暂停
    shell
    Copy
    $ sudo -u postgres /usr/pgsql-11/bin/pglogical replicate setup \
    --replication-sets my_replication \
    --dbname=db_name \
    --user=username \
    --password=password \
    --set=my_replication \
    --pool=default
    在Flink CDC配置文件中,指定要同步的数据库名称
    properties
    Copy
    connector.startup-modes = initial

    table.catalog = catalogName
    table.schema = schemaName
    ...

    connector.uri = "postgresql://localhost:5432/database_name"
    运行Flink CDC作业
    Flink CDC会自动发现PostgreSQL database中所有表,并进行schema解析和初始化。然后实时消费表的变更事件(DML)。
    用户可以过滤不需要同步的表
    properties
    Copy
    table.ignore-tables = exclude .ignore_this_table., exclude .another_table.
    用户也可以单独指定要同步的表
    properties
    Copy
    table.include-tables = only .need_to_sync_this_table.
    以上这种方式,可以让Flink CDC同步PostgreSQL database中的所有(或指定)表。
    初始化时会读取所有表的schema,然后实时消费变更日志。

    2023-07-30 10:50:23
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    2023云栖大会:PolarDB for AI 立即下载
    2023云栖大会:AnalyticDB PostgreSQL 立即下载
    2022云栖大会:打造世界级云原生数据库开源社区 立即下载

    相关镜像