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.conf
和pg_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 项目地址: https://gitcode.com/gh_mirrors/po/postgres-decoderbufs
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考