Tom Lane wrote on 28.12.2011 01:41:
> Thomas Kellerer<spam_eater@gmx.net> writes:
>> Tom Lane wrote on 27.12.2011 20:22:
>>> More specifically, look to see if the current transaction has assigned
>>> itself a transaction ID. I think the easiest place to see this is in
>>> pg_locks --- it will be holding exclusive lock on a TransactionId object
>>> if so.
>
>> Thanks for the answer. I came up with the following statement:
>
>> select count(*)
>> from pg_locks
>> where pid = pg_backend_pid()
>> and locktype in ('transactionid')
>
>> does that look right to you?
>
> No. You forgot the exclusive-lock condition.
Ah!
So this is it?
select count(*)
from pg_locks
where pid = pg_backend_pid()
and locktype in ('transactionid')
and mode = 'ExclusiveLock'
Thanks for your help
Thomas