PostgreSQL建表flink支持的字段集,insert插入数据

建表sql

CREATE TABLE all_flink_types (
    test_INT2	INT2
    ,test_SMALLSERIAL	SMALLSERIAL
    ,test_SERIAL2	SERIAL2
    ,test_INTEGER	INTEGER
    ,test_SERIAL	SERIAL
    ,test_BIGINT	BIGINT
    ,test_BIGSERIAL	BIGSERIAL
    ,test_REAL	REAL
    ,test_FLOAT4	FLOAT4
    ,test_FLOAT8	FLOAT8
    ,test_DOUBLE_PRECISION	DOUBLE PRECISION
    ,test_NUMERIC	NUMERIC(15,3)
    ,test_DECIMAL	DECIMAL(15,3)
    ,test_BOOLEAN	BOOLEAN
    ,test_DATE	DATE
    ,test_TIME	TIME(3)
    ,test_TIMESTAMP	TIMESTAMP(3)
    ,test_CHAR	CHAR(250)
    ,test_CHARACTER	CHARACTER(250)
    ,test_VARCHAR	VARCHAR(250)
    ,test_CHARACTER_VARYING	CHARACTER VARYING(250)
    ,test_TEXT	TEXT
    ,test_BYTEA	BYTEA
    ,test_ARRAY4	 integer ARRAY[4]
    ,test_ARRAY4_4	 text[4][4]
    ,primary key (test_INTEGER)
);

insert语句

INSERT INTO all_flink_types (
    test_INT2,
    test_SMALLSERIAL,
    test_SERIAL2,
    test_INTEGER,
    test_SERIAL,
    test_BIGINT,
    test_BIGSERIAL
### 使用 Flink 实现与 PostgreSQL 数据同步 为了实现 Apache Flink PostgreSQL 之间高效的数据同步,可以采用 Debezium 连接器来捕获数据库中的变更事件并将其流式传输至 Flink 中处理。具体操作如下: #### 配置 Postgres-CDC 连接器 当在 Flink SQL 环境中配置了 `postgres-cdc` 连接器之后,该过程会自动从 Debezium 获取 PostgreSQL 的变更数据[^1]。 ```sql CREATE TABLE postgres_source ( id BIGINT, name STRING, description STRING, update_time TIMESTAMP(3), PRIMARY KEY (id) NOT ENFORCED ) WITH ( 'connector' = 'postgresql-cdc', 'hostname' = 'localhost', 'port' = '5432', 'username' = 'flink_user', 'password' = 'flink_password', 'database' = 'mydb', -- 变更所监控的数据库名 'table-name-pattern' = 'public.*' -- 监控特定模式下的所有 ); ``` 此段代码定义了一个名为 `postgres_source` 的结构用于接收来自 PostgreSQL 的实时更新记录,并指定了必要的连接参数以便于访问目标数据库实例。 #### 将 CDC JAR 文件放置到正确位置 对于 Oracle CDC 插件来说,则需将对应的 jar 包如 `flink-sql-connector-oracle-cdc-3.0.1.jar` 放置于 Flink 安装路径下的 `/lib` 文件夹内[^2];而对于其他类型的源端(比如这里讨论的 PostgreSQL),通常情况下官方提供的二进制分发版已经包含了所需的依赖库文件,因此一般无需额外手动添加jar包。 #### 编写并执行 SQL 脚本 创建一个SQL脚本来描述整个 ETL 流程逻辑,例如读取原始数据、转换字段格式以及最终加载到目的存储系统里去。这个脚本应当被保存成 `.sql` 文件形式并且上传至预先设定好的工作区内的某个子目录下,在这里是假设为 `sql/` 下面的一个新立起来的空间[^3]。 ```sql INSERT INTO target_table_in_flink SELECT * FROM postgres_source; ``` 上述命令示把由前面定义过的 `postgres_source` 产生的每一行增量变化都插入到另一个存在于 Flink 应用程序内部的目标格之中。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值