PostgreSQL离线同步

本文提供PostgreSQL离线同步场景的实施思路、配置示例和验证方式,可作为实际项目配置参考。

实现在PostgreSQL中结果表向目标表中离线同步数据

案例

PostgreSQL中将t_source中的数据离线同步到t_target中

解决方案

创建Flink SQL作业类型,添加以下依赖

20250120164839

CREATE TABLE from_table
(
    username STRING,
    age      INT
) WITH (
      'connector' = 'jdbc',
      'url' = 'jdbc:postgresql://localhost:54302/isxcode_db',
      'driver' = 'org.postgresql.Driver',
      'table-name' = 't_source',
      'username' = 'root',
      'password' = 'root123',
      'scan.fetch-size' = '1'
      );

CREATE TABLE target_table
(
    username STRING,
    age      INT
) WITH (
      'connector' = 'jdbc',
      'url' = 'jdbc:postgresql://localhost:54302/isxcode_db',
      'driver' = 'org.postgresql.Driver',
      'table-name' = 't_sink',
      'username' = 'root',
      'password' = 'root123',
      'sink.buffer-flush.max-rows' = '1');

INSERT INTO target_table
select *
from from_table;
配置项说明
connector连接方式
url数据库连接url
driver数据源驱动
table-name表名
username数据源账号
password账号密码
scan.fetch-size每次操作多少数据
sink.buffer-flush.max-rows多少条数据合并在一个事务里