wal2json 是一个第三方扩展,提供了一个用于逻辑解码的输出插件。这个输出插件为每个事务生成一个JSON对象。
wal2json 创建于2014年(首次提交fc77351e),但第一个稳定版本发布于2018年。
发布历史
这是wal2json重要版本发布的摘要;有关完整详细的版本列表,请参阅wal2json发布页面。
示例
这个wal2json的基本使用示例使用pg_recvlogical来设置一个复制槽并开始从该槽流式传输数据,并将任何解码后的数据显示在stdout上。
$ pg_recvlogical -d test_db --slot=test_slot --create-slot --plugin=wal2json -o pretty-print=1 --start -f -
如果执行以下语句
postgres=# INSERT INTO foo VALUES (1); INSERT 0 1
pg_recvlogical 将会以类似这样的JSON格式显示解码后的数据
{
"change": [
{
"kind": "insert",
"schema": "public",
"table": "foo",
"columnnames": ["id"],
"columntypes": ["integer"],
"columnvalues": [1]
}
]
}
参考资料
- GitHub: wal2json
有用链接
- 博客: wal2json 1.0 发布
