On Fri, 2020-05-15 at 08:09 +0800, Andy Fan wrote:
> 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)

Looks like it, yes.
Roll it back then.

Yours,
Laurenz Albe
-- 
Cybertec | https://www.cybertec-postgresql.com



Reply via email to