Flink-CDC实时读Postgresql数据

news/2024/7/9 23:27:14 标签: flink, postgresql, 数据库

前言

        CDC,Change Data Capture,变更数据获取的简称,使用CDC我们可以从数据库中获取已提交的更改并将这些更改发送到下游,供下游使用。这些变更可以包括INSERT,DELETE,UPDATE等。

用户可以在如下的场景使用cdc:

  • 实时数据同步:比如将Postgresql库中的数据同步到我们的数仓中。
  • 数据库的实时物化视图。

Postgresql数据库配置

Postgresql参数修改

# 更改wal日志方式为logical
wal_level = logical # minimal, replica, or logical
# 更改solts最大数量(默认值为10),flink-cdc默认一张表占用一个slots
max_replication_slots = 20 # max number of replication slots
# 更改wal发送最大进程数(默认值为10),这个值和上面的solts设置一样
max_wal_senders = 20 # max number of walsender processes
# 中断那些停止活动超过指定毫秒数的复制连接,可以适当设置大一点(默认60s)
wal_sender_timeout = 180s # in milliseconds; 0 disable  

新建用户并且给用户赋流权限

-- 创建用户 cdc_user
CREATE USER cdc_user PASSWORD 'cdc';

-- 授权连接
GRANT CONNECT ON DATABASE postgres TO cdc_user;

-- 给用户复制流权限
ALTER ROLE cdc_user replication;

-- 授权public的使用
GRANT USAGE ON SCHEMA PUBLIC TO cdc_user;

创建复制槽

---- 创建复制槽
-- wal2json decoder_raw test_decoding pgoutput
select pg_create_logical_replication_slot('cdc_1','wal2json');<

http://www.niftyadmin.cn/n/5368620.html

相关文章

冲击可以通过峭度指标来检测,是如何来检测的,python示例代码

问题 冲击可以通过峭度指标来检测&#xff0c;是如何来检测的&#xff0c;可以给1个示例代码吗 思路 带冲击的信号其峭度指标>3不带冲击的信号其峭度指标在3左右可以通过滑动窗来检测在哪一段 示例代码 带冲击的信号峭度指标值 import numpy as np import matplotlib.…

动态规划算法之最长公共子序列

简单的最长公共子序列&#xff08;LCS&#xff09;算法的C实现&#xff0c;同时我将逐行解释实现细节&#xff1a; #include <iostream> #include <vector>std::vector<std::vector<int>> initializeDpMatrix(int m, int n) {return std::vector<s…

# 洛谷P1047 [NOIP2005 普及组] 校门外的树

洛谷P1047 [NOIP2005 普及组] 校门外的树 [NOIP2005 普及组] 校门外的树 题目描述 某校大门外长度为 l l l 的马路上有一排树&#xff0c;每两棵相邻的树之间的间隔都是 1 1 1 米。我们可以把马路看成一个数轴&#xff0c;马路的一端在数轴 0 0 0 的位置&#xff0c;另一…

商品详情立即购买逻辑实现

商品详情页面&#xff0c;点击“立即购买”按钮的逻辑&#xff0c;是把当前商品添加到购物车&#xff0c;以及跳转到购物车页面 index.wxml搞一个点击事件 <view class"tool_item btn_buy" bindtap"handleBuy"><view>立即购买</view>&l…

备战蓝桥杯---搜索(进阶3)

看一道比较难又有趣的题&#xff1a; 下面是分析&#xff1a; 我们不妨把属性值看成点&#xff0c;一个装备可以看成一条边&#xff08;只能选一个端点&#xff09;不存在有装备属性值的当成一个点&#xff0c;于是我们便形成了树或图&#xff0c;如果是树的话&#xff0c;有一…

百面嵌入式专栏(面试题)内存管理相关面试题1.0

沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将介绍内存管理相关面试题 。 一、内存管理相关面试题 page数据结构中的_refcount和_mapcount有什么区别?匿名页面和高速缓存页面有什么区别?page数据结构中有一个锁,我们称为页锁,请问trylock_page()和loc…

计算机网络(第四章)

第四章 4.1 网络层概述 网络层的主要任务是实现网络互连&#xff0c;进而实现数据包在各网络之间的传输要实现网络层任务&#xff0c;需要解决以下主要任务&#xff1a; 网络层向运输层提供怎样的服务&#xff08;“可靠传输”还是“不可靠传输”&#xff09;网络层寻址问题路…

使用python绘制无边框ECG信号-可用于论文插图-小白版

用python绘制一个心电信号 最近在写大论文&#xff0c;由于自己做的是心电信号难免要做一些心电信号的插图&#xff0c;然后在写论文的时候有的时候要用真实信号有的时候需要用到示意图&#xff0c;这里面的其他部分使用Visio绘制的&#xff0c;但是前面的心电信号部分&#x…