On Thu, May 14, 2020 at 9:33 PM Laurenz Albe <laurenz.a...@cybertec.at> wrote:
> On Thu, 2020-05-14 at 16:26 +0800, Andy Fan wrote: > > Thanks, actually I don't know how to use prepared transaction and how > it works. > > I care about this because there is a long prepared transaction exists in > our customer, > > and we want to know what this transaction has doneļ¼like any data it > changed). > > All the things I know is the data comes from pg_prepared_xact, but it > doesn't help a lot. > > Idf you have the transaction ID from "pg_prepared_xact", you could check > what locks are held: > > SELECT * FROM pg_locks WHERE transactionid = ...; > > Than might give you a clue. > > Thanks a lot. this transaction only lock a transactionid lock, so I assume there is nothing is done in this transaction. locktype | database | relation | page | tuple | virtualxid | transactionid | classid | objid | objsubid | virtualtransaction | pid | mode | granted | fastpath ---------------+----------+----------+------+-------+------------+---------------+---------+-------+----------+--------------------+------+---------------+---------+---------- transactionid | | | | | | 1181845808 | | | | -1/1181845808 | | ExclusiveLock | t | f (1 row) Best Regards Andy Fan