Re: Check what has been done for a uncommitted prepared transaction

From: Andy Fan <zhihui(dot)fan1213(at)gmail(dot)com>
To: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
Cc: Michael Paquier <michael(at)paquier(dot)xyz>, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Check what has been done for a uncommitted prepared transaction
Date: 2020-05-15 00:09:33
Message-ID: CAKU4AWoH7AJS=tknH6DL3fOS_BT-O0ZT60aOTUrY4M9je8p85g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, May 14, 2020 at 9:33 PM Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Vamsi Meduri 2020-05-15 00:22:35 view selection during query rewrite
Previous Message Michael Lewis 2020-05-14 21:54:57 Re: vacuumdb --jobs deadlock: how to avoid pg_catalog ?