wal2mongo
使用逻辑解码捕获MongoDB JSON格式的CDC变更
仓库
HighgoSoftware/wal2mongo
https://github.com/HighgoSoftware/wal2mongo
源码
wal2mongo-1.0.7.tar.gz
wal2mongo-1.0.7.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
wal2mongo | 1.0.7 | ETL | Apache-2.0 | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 9640 | wal2mongo | 否 | 是 | 否 | 否 | 否 | 否 | - |
| 相关扩展 | wal2json decoderbufs test_decoding pgoutput decoder_raw pgmqtt kafka_fdw pgq pg_protobuf pgproto |
|---|
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.0.7 | 1817161514 | wal2mongo | - |
| RPM | PGDG | 1.0.7 | 1817161514 | wal2mongo_$v | - |
| DEB | PIGSTY | 1.0.7 | 1817161514 | postgresql-$v-wal2mongo | - |
构建
您可以使用 pig build 命令构建 wal2mongo 扩展的 DEB 包:
BASH
安装
您可以直接安装 wal2mongo 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
BASH
使用 pig 或者是 apt/yum/dnf 安装扩展:
安装
BASH
pig
BASH
dnf
BASH
apt
BASH
此扩展不需要执行
CREATE EXTENSION语句
用法
一个逻辑解码输出插件,将 PostgreSQL WAL 变更格式化为 MongoDB 兼容命令,实现从 PostgreSQL 到 MongoDB 的数据复制。
配置
在 postgresql.conf 中:
INI
使用 SQL 函数
SQL
使用 pg_recvlogical
BASH
复制到 MongoDB
输出可以直接在 MongoDB shell 中应用:
JAVASCRIPT
或保存为 .js 文件并导入:
BASH
输出格式
- INSERT:
db.<table>.insertOne( { <columns> } ) - UPDATE:
db.<table>.updateOne( { <key> }, { $set: { <changes> } } ) - DELETE:
db.<table>.deleteOne( { <key> } )
表需要主键或副本标识才能捕获 UPDATE/DELETE 操作。