为什么我的postgresql视图会看到未提交的数据?

dm7nw8vv  于 2021-06-04  发布在  Kafka
关注(0)|答案(0)|浏览(180)

我有一个jdbc接收器连接器(kafka),它将数据写入 table_one 在我的postgresql 10数据库中。插入或更新时 table_one 我有行级触发器,它将数据插入 table_two 看起来像:

id_field      | transaction_id
PK of Table A | transaction ID for transaction that inserted row in TABLE A

这个 transaction_id 使用psql函数在触发器中设置 txid_current() . 然后,我有一个jdbc源代码连接器,它轮询postgresql视图,该视图实际上执行以下操作:

SELECT * FROM table_two

假设我将10000行插入 table_one . 如果在轮询视图连接器之前等待此事务(和触发器)运行到完成,我可以看到所有10000行都被插入到 table_two 同样的 transaction_id .
但是,如果连接器在插入之前轮询视图 table_one (和触发器)已完成执行,我看到视图返回部分结果。
我希望视图返回全部或全部-这是怎么回事?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题