On Tue, Sep 8, 2020 at 11:28 AM Michael Paquier wrote:
This is called MVCC, which applies to a session as a whole. The point here is that even if your application knows that only tableA is used by a given transaction, Postgres cannot know that, as it could be possible that data from tableB is needed in this same transaction, so old versions of the rows from tableB matching with the snapshot hold by this long-running transaction still have to be around.
Yes, I thought so. I just hoped there may be a workaround decoupling the tables.
Thanks.
You can try to reduce length of transactions, if possible.