Postgres Decoderbufs 使用指南

Postgres Decoderbufs 使用指南

postgres-decoderbufs postgres-decoderbufs 项目地址: https://gitcode.com/gh_mirrors/po/postgres-decoderbufs

Postgres Decoderbufs 是一个为 PostgreSQL 设计的逻辑解码插件,它将数据转换为 Protocol Buffers 格式,专为 Debezium 设计。本文档旨在提供详细的安装步骤、使用方法、API 概览以及项目部署信息,以帮助开发者有效地集成并利用此工具。

安装指南

系统依赖

首先,确保系统具备以下依赖:

  • PostgreSQL 9.6 或更高版本
  • Protobuf-c 1.2 或以上版本
  • PostGIS 2.1 及以上版本(用于支持几何类型)

在 Debian 上安装依赖

sudo apt-get update && sudo apt-get install -f -y software-properties-common build-essential pkg-config git postgresql-server-dev-9.6 libproj-dev liblwgeom-dev
sudo add-apt-repository "deb http://ftp.debian.org/debian testing main contrib"
sudo apt-get update
sudo apt-get install -y libprotobuf-c-dev=1.2.1-1+b1 protobuf-c-compiler=1.2.*

对于其他Linux发行版,需要相应地调整软件包名称进行安装。

获取源代码

通过Git克隆项目到本地:

git clone https://github.com/debezium/postgres-decoderbufs.git
cd postgres-decoderbufs

构建与安装

在正确安装所有依赖之后,编译和安装Decoderbufs插件:

# 若有多个PostgreSQL版本,请适当调整$PATH指向目标版本
export PATH=/usr/lib/postgresql/9.6/bin:$PATH
make
sudo make install

修改配置文件以启用插件和逻辑复制功能,如postgresql.confpg_hba.conf

项目使用说明

启用插件与设置

编辑PostgreSQL配置来启用所需模块和逻辑复制选项:

  • postgresql.conf添加:
    shared_preload_libraries = 'decoderbufs'
    wal_level = logical
    max_wal_senders = 8
    wal_keep_segments = 4
    max_replication_slots = 4
    
  • 修改pg_hba.conf赋予复制权限给指定用户:
    local   replication     <youruser>                          trust
    host    replication     <youruser>  127.0.0.1/32            trust
    host    replication     <youruser>  ::1/128                 trust
    

重启PostgreSQL服务后,创建一个逻辑复制槽并测试插件使用:

SELECT * FROM pg_create_logical_replication_slot('decoderbufs_demo', 'decoderbufs');
-- 进行表操作如INSERT/UPDATE/DELETE等
SELECT data FROM pg_logical_slot_peek_changes('decoderbufs_demo', NULL, NULL, 'debug-mode', '1');

API使用文档

Decoderbufs通过SQL接口与PostgreSQL交互,主要通过函数pg_create_logical_replication_slot, pg_logical_slot_peek_changes, 和 pg_logical_slot_get_changes 来获取变化数据。这些函数允许使用者捕获数据库事件,并转换为Protocol Buffers格式的数据流,供Debezium或类似服务处理。

类型映射

| PostgreSQL 类型 OID | Decoderbuf 字段 | |---------------------|---------------| | BOOLOID | datum_boolean | | INT2OID, INT4OID | datum_int32 | | INT8OID | datum_int64 | | ... | ... |

请注意,完整的类型映射表在原始文档中有详细列出,这里省略部分内容以保持简洁性。

支持与反馈

遇到任何问题或有新的特性需求,欢迎在Debezium的JIRA上提交虫子报告和特性请求,标记为postgresql-connector组件。


本指南提供了Postgres Decoderbufs的基础搭建和基本使用流程,使开发者能够快速上手,充分利用该插件实现数据库变更的高效捕捉与处理。

postgres-decoderbufs postgres-decoderbufs 项目地址: https://gitcode.com/gh_mirrors/po/postgres-decoderbufs

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

田廷珉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值