postgresql及wal2json插件安装

news2025/7/7 6:29:38

1、安装postgres

安装文档见:https://www.postgresql.org/download/linux/redhat/
我这里是centos7系统,选择安装postgresql11

# Install the repository RPM:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Install PostgreSQL:
sudo yum install -y postgresql11-server
sudo yum install -y postgresql11-devel
sudo yum install  -y postgresql11-contrib.x86_64 --这个主要是安装pg_recvlogical

# Optionally initialize the database and enable automatic start:
sudo /usr/pgsql-11/bin/postgresql-11-setup initdb
#设置开机启动
sudo systemctl enable postgresql-11
#启动pg
sudo systemctl start postgresql-11

在这里插入图片描述
可以看到pg已经启动

切换到postgres用户:su postgres
psql命令进入命令行:

#创建用户
CREATE USER dev WITH PASSWORD '123456';

创建数据库:
createdb mydb

修改配置允许远程访问,
vim /var/lib/pgsql/11/data/pg_hba.conf
添加配置:

host    all             all             0.0.0.0/0               md5

重启pg:sudo systemctl start postgresql-11
即可通过navicat工具,使用dev用户连接pg

2、安装wal2json插件

sudo yum install -y wal2json11

vim /var/lib/pgsql/11/data/postgresql.conf
添加配置:

shared_preload_libraries = 'wal2json'
wal_level = logical
max_wal_senders = 4
max_replication_slots = 8

listen_addresses = '*'

重启pg:sudo systemctl start postgresql-11

注意,后续pg相关命令需要切换到postgres用户执行
建议把/usr/pgsql-11/bin/加入到环境变量,这样就可以直接执行pg_recvlogical等命令了

#创建slot
/usr/pgsql-11/bin/pg_recvlogical -d mydb --slot mydb_test_slot --create-slot -P wal2json

#启动slot,即可监听数据变化
/usr/pgsql-11/bin/pg_recvlogical -d mydb --slot mydb_test_slot --start -o pretty-print=1 -o add-msg-prefixes=wal2json -f -

在mydb库下创建表并插入数据:

CREATE TABLE "user" (
  "id" int4 NOT NULL,
  "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying,
  CONSTRAINT "user_pkey" PRIMARY KEY ("id")
)
;

INSERT INTO "user" VALUES (1, 'test');

可以在slot监听窗口看到刚刚插入的数据
在这里插入图片描述

后续通过debezium拉取wal日志数据发到kafka时,会遇到kafka消息中before字段为null的问题
需要执行命令:ALTER TABLE “public”.“user” REPLICA IDENTITY FULL;
在这里插入图片描述
默认情况下,REPLICA IDENTITY值为DEFAULT,oldkeys只有主键数据
见下图的前后对比,上面是DEFAULT的情况,oldkeys只有id;下面是FULL的情况,oldkeys包含了name
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/109169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

有什么办法把录音转成文字?这几种方法一看就会

大家在平时工作中是否经常会遇到录音转文字的时候,如果我们一边听一边记的话,有可能会漏掉一些内容,然后就需要暂停或者重听,这样既费时费力还会降低我们的工作效率。这个时候我想应该会有小伙伴觉得,要是录音能直接变…

高通 OpenXR SDK 使用指南(1)

高通 OpenXR SDK 使用指南(1)1 OpenXR 概述1.1 加载器1.2 运行时1.3 API层1.4 合成器1 OpenXR 概述 OpenXR 是一个免版税的框架,可以访问 AR、VR 和 MR 平台和设备。 在 OpenXR 之前,不同的供应商构建了自己的专有 SDK 来支持 XR…

四、Jetson Xavier Nx内置16G emmc刷机、CUDA、SSD启动

1 刷机 注意JETSON Xavier NX DEV KIT 搭配的是官方16eMMC版本的Jetson Xavier NX 16GB/8GB 核心板,不带SD卡卡槽。因此烧录系统需要用到ubuntu 18.04主机,使用SDK Manager工具烧录。 烧录环境: Ubuntu18.04 主机 (虚拟机也可以&…

CS5518芯片规格书|CS5518设计参数|MIPI转LVDS转换方案芯片设计规格书

CS5518是一个MIPI DSI输入、LVDS输出转换芯片。MIPI DSI支持多达4个局域网,每个通道以1Gbps的速率运行。LVDS支持18位或24位像素,通过VESA或JEIDA格式。它只能使用单个1.8V电源,以节省成本并优化电路板空间。 CS5518适用于多个细分市场和显…

TCP半关闭状态分析和skynet对半关闭状态的支持

TCP半关闭状态分析一、背景二、TCP四次挥手流程三、发送FIN包的场景四、skynet 网络封装支持半关闭状态4.1、连接的建立4.2、连接断开4.3、消息到达4.4、消息发送完毕五、测试skynet对半关闭的支持5.1、测试直接关闭进程5.2、测试关闭读端5.2、测试关闭写端总结后言一、背景 T…

经典设计模式总则

Design pattern 设计模式背景-概念、面向对象六大原则、设计模式分类、二十三中常用设计模式即创建型模式、结构型模式、行为型模式 1、设计模式的背景、概念及其必要性 1.1、设计模式的背景 设计模式最初并不是应用于软件设计领域,而是被用于建筑领域的设计中。 …

圣诞节送哪款电容笔合适?平价电容笔排行

随着技术的发展,各种品牌的电容笔也随之出现。一款出色的电容笔可以极大地提升我们的工作效率,并改善我们的学习方式。就目前的技术而言,平替电容笔无论从质量还是性能上都是物有所值的,其表现与苹果的原装电容笔相差无几。下面就…

谈谈vue的路由守卫和keep-alive后生命周期

目录 🔽 Vue-Router的懒加载如何实现 1、方案一:箭头函数import 2、方案二:箭头函数require 3、方案三:箭头函数require.ensure 🔽 如何定义动态路由 param方式 query方式 🔽 Vue-Router导航守卫 …

美颜sdk背景扭曲修复算法的实现流程

目前,美颜sdk在对人像进行美型美体等编辑处理的时候,想要保证背景不受影响,是比较困难的,如果需要在手机端上进行处理,难度更大,主要有以下几点: 一、难点分析 1、拍摄背景多变,背景…

反向迭代器reverse_iterator模拟实现

准备工作 相同的命名空间可以分割在不同的文件中,编译器最后都会合成在同一个命名空间下。我们的reverse_iterator是个适配器,为什么叫适配器,是因为它需用正向迭代器做适配。简言之,反向迭代器通过正向迭代器做实例化会减少很多冗余且方便很…

基于Fragstats的土地利用景观格局分析

景观格局及相关软件介绍 Fragstats界面与数据格式 数据准备:ArcGIS软件操作 数据准备:数据结构及变换 数据准备:数据投影及变换 数据准备:数据采集与编辑 数据准备:数据获取及处理 土地利用统计分析 Fragstats…

微服务(一) —— 概念

目录1. 什么是微服务2. springcloud3. 服务提供者、服务消费者1. 什么是微服务 微服务: 分布式架构的一种。 服务集群:将一个功能复杂的项目拆分成许多个独立的项目(称为服务,每部分完成一定的功能),并进…

继承、多态、组合(Java系列5)

目录 前言: 1.继承 1.1继承的概念 1.2继承的语法 1.3父类成员访问 1.4super关键字 1.5super和this 1.6继承关系的执行顺序 1.7继承方式 1.8final关键字 2.继承与组合 3.多态 3.1多态的概念 3.2多态实现的条件 4.重写 4.1重写的概念 4.2方法重写的规…

前端基础(十五)_多栏布局(两列自适应布局、圣杯布局---三列布局、双飞翼布局--三列布局、等高布局)

什么是自适应? 自适应:让同一个页面自动适应不同大小的设备,从而解决为不同设备提供不同版本页面的问题。 自适应布局:解决在不同大小的设备上呈现相同网页的问题 两列自适应布局 1、Html结构中–左右两个盒子; 2、…

UT斯达康MC8638S-高安-S905-河北联通-破解刷机线刷固件包

UT斯达康MC8638S-高安-S905-河北联通-破解刷机线刷固件包 固件特点: 1、修改dns,三网通用; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、无开机广告,无系统更新,不在被强制升级; 4、大…

远离不恰当的运动方式,缤跃酒店满足大众对专业化、品质化健身场所的需求!

2022年,各大新闻平台关于“横纹肌溶解综合征”的新闻报道屡见不鲜,横纹肌溶解是一种因肌肉组织严重受损导致的综合征,严重的可能会出现急性肾损伤、心律失常,甚至死亡。探究原因,这些患者多是由于运动过量或不当被送入…

深度解读|NebulaGraph x 阿里云计算巢,云上构建超大规模图数据库

近期,杭州悦数科技有限公司与阿里云计算巢达成合作,NebulaGraph 作为首款图数据库产品正式入驻阿里云计算巢,为用户带来了云端一键部署企业级图数据库集群的全新体验。同时,该服务集成了多款 NebulaGraph 周边可视化图数据库管理工…

python-面向对象

目录 面向对象 封装 继承 重写 重载 多态 单下划线、双下划线、头尾双下划线说明: 面向对象 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。类变量:类变量在整个实例化的对…

ENSP防火墙进入web登陆界面

步骤 新建拓扑【选择USG6000V】然后导入USG6000V得镜像包进入到防火墙的CLI界面 账户与密码 账户:admin 密码Admin123(密码输入不会显示) 输入正确账户密码后会提醒修改密码输入 y 回车后提醒如下: 输入旧密码 输入新密码&…

基于禁忌搜索的TSP问题求解仿真输出路线规划图和收敛曲线

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 禁忌搜索(Tabu Search或Taboo Search,简称TS)是对局部搜索(LS)的一种扩展,是一种全局寻优算法,其特点是采用禁忌…