Обсуждение: finding the procpid (or pid) for a prepared transaction
Hi All; I have several prepared tx which are running for a long long time. I want to kill 'em but I dont know the process id. I can get the xid via pg_prepared_xacts.transaction however the tx's have no locks thus no corresponding pg_locks row. Anyone know how I can get a procpid based on a tx id? Thanks in advance...
CS DBA <cs_dba@consistentstate.com> writes:
> I have several prepared tx which are running for a long long time. I
> want to kill 'em but I dont know the process id.
If they're prepared, they're *not* running, and they don't have a
process id. They're just going to sit there until you do COMMIT
PREPARED or ROLLBACK PREPARED.
regards, tom lane
On 02/17/2011 07:19 PM, Tom Lane wrote: > CS DBA<cs_dba@consistentstate.com> writes: >> I have several prepared tx which are running for a long long time. I >> want to kill 'em but I dont know the process id. > If they're prepared, they're *not* running, and they don't have a > process id. They're just going to sit there until you do COMMIT > PREPARED or ROLLBACK PREPARED. > > regards, tom lane aah, makes sense Thanks. So, for future reference.. if I prepare a tx, and then execute the prepared stmt, is there a way to associate the xid from a prepared txn (pg_prepared_xacts) with the row in pg_stat_activity showing the executing prepared stmt (within the current prepared txn)? or is there a way to see the text of a currently prepared txn so I can look for the statement being executed in pg_stat_activity?
On 02/17/2011 07:48 PM, CS DBA wrote:
> On 02/17/2011 07:19 PM, Tom Lane wrote:
>> CS DBA<cs_dba@consistentstate.com> writes:
>>> I have several prepared tx which are running for a long long time. I
>>> want to kill 'em but I dont know the process id.
>> If they're prepared, they're *not* running, and they don't have a
>> process id. They're just going to sit there until you do COMMIT
>> PREPARED or ROLLBACK PREPARED.
>>
>> regards, tom lane
>
> aah, makes sense Thanks.
>
> So, for future reference.. if I prepare a tx, and then execute the
> prepared stmt, is there a way to associate the xid from a prepared txn
> (pg_prepared_xacts) with the row in pg_stat_activity showing the
> executing prepared stmt (within the current prepared txn)? or is
> there a way to see the text of a currently prepared txn so I can look
> for the statement being executed in pg_stat_activity?
>
>
>
nevermind.... sorry I'm confusing prepared txn's with prepared stmts.
--
---------------------------------------------
Kevin Kempter - Constent State
A PostgreSQL Professional Services Company
www.consistentstate.com
---------------------------------------------