postgresql(windows版本) 插件wal2json 通过 Visual Studio 2019 编译

postgresql(windows版本) 插件wal2json 通过 Visual Studio 2019 编译

  • 下载相关插件:
    • Visual Studio 2019下载地址
    • 安装
  • wal2json 编译
    • Visual Studio导入 wal2json 项目
    • 添加postgresql 相关的依赖
  • 配置 debezium 的 postgresql 连接器
    • 下载地址

下载相关插件:

Visual Studio 2019下载地址

https://visualstudio.microsoft.com/zh-hans/?rr=https://www.baidu.com/link?url=b1goBv9_kKk8djltygQxPnrrNv9bLT0nHhZI-ObZF5K_N2CFwyTfueqQ4lpifd__&wd=&eqid=b61cf6640024f438000000065d351fd3

postgresql(windows版本) 插件wal2json 通过 Visual Studio 2019 编译_第1张图片

安装

下载成功后 会有一个 类似 vs_community__1812561284.1563769498.exe的文件 ,然后进行简易安装即可

wal2json 下载地址 zip 包然后解压

https://github.com/eulerto/wal2json

wal2json 编译

Visual Studio导入 wal2json 项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HyTdRoDd-1574669265741)(C:%5CUsers%5Cyx%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20191118212341680.png)]

添加postgresql 相关的依赖

  1. 右键–>属性

postgresql(windows版本) 插件wal2json 通过 Visual Studio 2019 编译_第2张图片

  1. 添加 附加包

postgresql(windows版本) 插件wal2json 通过 Visual Studio 2019 编译_第3张图片

  1. 添加 postgres.lib

postgresql(windows版本) 插件wal2json 通过 Visual Studio 2019 编译_第4张图片

postgresql(windows版本) 插件wal2json 通过 Visual Studio 2019 编译_第5张图片

  1. 编译:右键项目 -->生成

postgresql(windows版本) 插件wal2json 通过 Visual Studio 2019 编译_第6张图片

  1. 生成目录如下

  1. 将生成的wal2json 复制到 postgresql 的lib 目录下(最好是把 wal2json 、wal2json.exp 一起 )

postgresql(windows版本) 插件wal2json 通过 Visual Studio 2019 编译_第7张图片

配置 debezium 的 postgresql 连接器

下载地址

https://repo1.maven.org/maven2/io/debezium/debezium-connector-postgres/   #选择自己对应的版本

postgresql(windows版本) 插件wal2json 通过 Visual Studio 2019 编译_第8张图片

解压 debezium-connector-postgres-0.10.0.Final-plug… 会有如下文件 将4个 *.jar 文件

postgresql(windows版本) 插件wal2json 通过 Visual Studio 2019 编译_第9张图片

将 *.jar 文件 复制到 confluent

**/confluent-4.0.0/share/java/kafka/ 

创建 postgresql 连接

curl 'http://10.100.11.**:8083/connectors' -X POST -i -H "Content-Type:application/json" -d '{"name": "pg_connector171","config": {"connector.class": "io.debezium.connector.postgresql.PostgresConnector","database.hostname": "10.2.2.171","database.port": "5432","database.user": "repuser","database.password": "****","database.dbname" : "zcdb","database.server.name": "pg","table.whitelist": "public.yx_test2","plugin.name":"wal2json"}}'

问题:

Caused by: io.debezium.jdbc.JdbcConnectionException: ERROR: could not load library "D:/zcsys_v3/postgresql/lib/wal2json.dll": The specified module could not be found.

Caused by: org.postgresql.util.PSQLException: ERROR: could not load library "D:/zcsys_v3/postgresql/lib/wal2json.dll": The specified module could not be found.

尝试过以下几种方式(不知道是哪个是正解………不要打我 我也不知道怎么好的。。):
方式1:将 wal2json.dll 放在系统C:\Windows\System32\ 下面

​ 方式2:在使用wal2json 服务器上安装了 vs2019

​ 方式3:更改过wal2json 在服务区的权限

io.debezium.jdbc.JdbcConnectionException: FATAL: no pg_hba.conf entry for replication connection from host \"10.100.11.37\", user \"repuser\", SSL

主要是添加 replication 用户

你可能感兴趣的:(Postgresql)