wal2json docker 试用

Posted rongfengliang-荣锋亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wal2json docker 试用相关的知识,希望对你有一定的参考价值。

基于官方的release 构建了一个docker 镜像,以下是测试使用

环境准备

  • docker-compose 文件
version: "3"
services: 
   mypg:
     image: dalongrong/wal2json:1.0
     ports: 
     - "5432:5432"
     environment: 
     - "POSTGRES_PASSWORD:dalong"
  • 启动
docker-compose up -d

测试

  • 创建slot 以及使用插件
pg_recvlogical -h 127.0.0.1 -U postgres -d postgres --slot test_slot --create-slot -P wal2json
  • 监听变动
pg_recvlogical -h 127.0.0.1 -U postgres -d postgres --slot test_slot --start -o pretty-print=1 -f -
  • 添加数据查看变动
    demo sql
CREATE TABLE table_with_pk (a SERIAL, b VARCHAR(30), c TIMESTAMP NOT NULL, PRIMARY KEY(a, c));
CREATE TABLE table_without_pk (a SERIAL, b NUMERIC(5,2), c TEXT);
BEGIN;
INSERT INTO table_with_pk (b, c) VALUES(\'Backup and Restore\', now());
INSERT INTO table_with_pk (b, c) VALUES(\'Tuning\', now());
INSERT INTO table_with_pk (b, c) VALUES(\'Replication\', now());
DELETE FROM table_with_pk WHERE a < 3;
INSERT INTO table_without_pk (b, c) VALUES(2.34, \'Tapir\');
-- it is not added to stream because there isn\'t a pk or a replica identity
UPDATE table_without_pk SET c = \'Anta\' WHERE c = \'Tapir\';
COMMIT;
 

添加数据

psql -At -f example1.sql -h 127.0.0.1 -U postgres -d postgres
  • 监听效果

 

 

说明

wal2json 功能强大,同时提供的配置参数也是比较多的,netflix即将开源的dblog 对于pg 的处理也是基于此扩展,详细的一些使用
可以参考github 仓库代码

参考资料

https://github.com/eulerto/wal2json
https://github.com/rongfengliang/wal2json-docker
https://github.com/rongfengliang/wal2json-docker-demo

以上是关于wal2json docker 试用的主要内容,如果未能解决你的问题,请参考以下文章

wal2json Dockerfile

Tencent Server Web 安装试用

prisma 集成tidb 安装试用

nginx brotli 压缩试用

strapi 开源api && 内容管理平台试用

QLoo graphql engine 学习一 基本试用(docker&&docker-compose)