获取 PostgreSQL 中当前事务的差异

Get a diff of current transaction in PostgreSQL

是否可以检索当前事务操作的某种文本表示形式?

例如,如果我 运行 两组查询各自在各自的事务中,获取更改的快照,然后中止它们,这样我就可以比较差异,这可能吗?

我知道我可以创建和 运行 查询来存储我感兴趣的任何内容以供以后比较,但如果我上面描述的内容作为一项功能存在,那么对于我的目的来说会容易得多。

那是不可能的。

您能做的最好的事情是识别 table 中由当前事务写入的所有行

WHERE xmin = txid_current() % 4294967296

但是你可能会在那里得到误报(从最后一个事务 ID 回绕之前),它会扫描整个 table,你不会看到行是否被插入或更新。