On Fri, 2024-03-22 at 12:43 +0530, arun chirappurath wrote:
> I am running below query on a database. why is it creating a exclusive lock on a virtualxid?
> I am running some SELECT queries and its creating an ExclusiveLock in virtualxid? is this normal?
>
> SELECT datname, pid, state, query, age(clock_timestamp(), query_start) AS age
> FROM pg_stat_activity
> WHERE state <> 'idle'
> --AND query NOT LIKE '% FROM pg_stat_activity %'
> ORDER BY age;
>
> |locktype |database|relation|page|tuple|virtualxid|transactionid|classid|objid|objsubid|virtualtransaction|pid
|mode |granted|fastpath|waitstart|
>
|----------|--------|--------|----|-----|----------|-------------|-------|-----|--------|------------------|------|---------------|-------|--------|---------|
> |relation |58,007 |12,073 | | | | | | | |5/165
|21,912|AccessShareLock|true |true | |
> |virtualxid| | | | |5/165 | | | | |5/165
|21,912|ExclusiveLock |true |true | |
That's normal. Every transaction has an exclusive lock on its own transaction ID.
Yours,
Laurenz Albe