【发布时间】:2019-06-20 19:19:57
【问题描述】:
我正在构建一个 Change Capture 系统,该系统通过逻辑解码输出插件使用 Postgres WAL。
在回调中很容易访问当前的 transactionId (https://doxygen.postgresql.org/structReorderBufferTXN.html#ad3ff4a8f320f2ec21e3e07688d29c741),但这是 32 位的,可以在 4B 提交后回绕,因此它作为逻辑计数器不可靠。
Postgres 在内部维护一个不回绕的 64 位 transactionID (select txid_current()): https://www.postgresql.org/docs/9.4/functions-info.html#FUNCTIONS-TXID-SNAPSHOT
是否可以从逻辑解码插件访问此 ID?如果不是,那是什么原因?
谢谢
【问题讨论】:
标签: postgresql wal logical-replication