Обсуждение: finding the procpid (or pid) for a prepared transaction

Поиск
Список
Период
Сортировка

finding the procpid (or pid) for a prepared transaction

От
CS DBA
Дата:
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...


Re: finding the procpid (or pid) for a prepared transaction

От
Tom Lane
Дата:
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

Re: finding the procpid (or pid) for a prepared transaction

От
CS DBA
Дата:
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?




Re: finding the procpid (or pid) for a prepared transaction

От
CS DBA
Дата:
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
---------------------------------------------