You need to enable JavaScript to run this app.
文档中心
云数据库 PostgreSQL 版

云数据库 PostgreSQL 版

复制全文
下载 pdf
插件
逻辑解析(pg_decoderbufs)
复制全文
下载 pdf
逻辑解析(pg_decoderbufs)
pg_decoderbufs 是一款以 protocol buffer 格式进行逻辑解析的插件。​
使用限制​
pg_decoderbufs 只能对 DML (Delete、Update、Insert )进行逻辑解析,解析结果为 protocol buffer 格式。​
插件选项​
​
Options 名称​
debug-mode​
含义​
在进行逻辑解码后,将解码结果以字符模式输出。​
使用示例​
​
select * from pg_logical_slot_peek_changes('demo', null, null, 'debug-mode', '1');​
select * from pg_logical_slot_get_changes('demo', null, null, 'debug-mode', '1');​
​
说明​
关于 pg_logical_slot_peek_changes 和 pg_logical_slot_get_changes 函数的定义,可以通过如下 SQL 查询:​
  • select * from pg_proc where proname = 'pg_logical_slot_peek_changes';​
  • select * from pg_proc where proname = 'pg_logical_slot_get_changes';​
​
映射关系​
PostgreSQL 类型与 decoderbuf 字段的映射信息如下:​
​
PostgreSQL Type OID​
Decoderbuf Field​
BOOLOID​
datum_boolean​
INT2OID​
datum_int32​
INT4OID​
datum_int32​
INT8OID​
datum_int64​
OIDOID​
datum_int64​
FLOAT4OID​
datum_float​
FLOAT8OID​
datum_double​
NUMERICOID​
datum_double​
CHAROID​
datum_string​
VARCHAROID​
datum_string​
BPCHAROID​
datum_string​
TEXTOID​
datum_string​
JSONOID​
datum_string​
XMLOID​
datum_string​
UUIDOID​
datum_string​
TIMESTAMPOID​
datum_string​
TIMESTAMPTZOID​
datum_string​
BYTEAOID​
datum_bytes​
POINTOID​
datum_point​
PostGIS geometry​
datum_point​
PostGIS geography​
datum_point​
​
插件的使用​
前置条件​
  • 已将 wal_level 设置成 logical。​
  • 待逻辑解析的表有唯一索引、主键或者已经指定 REPLICA IDENTITY。​
使用插件​
  1. 创建发布,并指定逻辑解析插件为 decoderbufs。​
  • ​
    select pg_create_logical_replication_slot('demo', 'decoderbufs');​
    ​
  1. 开启读写,并以 debug-mode 模式,查看逻辑解析。​
  • ​
    select * from pg_logical_slot_peek_changes('demo', null, null, 'debug-mode', '1');​
    select * from pg_logical_slot_get_changes('demo', null, null, 'debug-mode', '1');​
    select * from pg_replication_slots;​
    ​
​
最近更新时间:2026.01.12 20:03:58
这个页面对您有帮助吗?
有用
有用
无用
无用