During one of our recent database maintenance windows, we found strange behaviour.
rupeecom=*> SELECT id FROM owuhhrlb.orders order by order_time desc limit 10;
id
------------
2867948821
6692427082
5676641762
2129769831
9491447513
9208637522
7331803655
1763525242
9609866278
0442784132
(10 rows)
rupeecom=*> DELETE FROM owuhhrlb.orders WHERE id IN (SELECT id FROM owuhhrlb.orders order by order_time desc limit 10);
FATAL:idle transaction timeout
rupeecom=>
rupeecom=> BEGIN WORK;
DELETE 10
As you see above, after the transaction terminated, the subsequent BEGIN WORK; statement committed the previous transaction. We are using PostgreSQL 16.14, also we are using pgCat as connection pooler ...