From: | Thomas Poty <thomas(dot)poty(at)gmail(dot)com> |
---|---|
To: | "pgsql-general(at)postgresql(dot)org >> PG-General Mailing List" <pgsql-general(at)postgresql(dot)org> |
Subject: | number and type of locks for an alter sequence |
Date: | 2019-01-28 14:07:44 |
Message-ID: | CAN_ctng+MXgtr9j1g7U-iKsK--gCKfH0BTZtJSOO+RY9cv2xRQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello ,
In PG10, when I am altering a sequence, i see 2 locks in pg_locks matching
my sequence:
a RowExclusiveLock
and a ShareRowExclusiveLock
My question is Why 2 locks?
Someone on irc said it was for catalog but i am no sure because
pg_locks.relationid is the same for the 2 locks.
At the same time, If I am trying to call nextval with an othersession, the
session wants to get a RowExclusiveLock on the sequence.
So, to me, the lock ShareRowExclusiveLock is when the sequence is beeing
altered.
And the RowExclusiveLock is for concurent access between alter/drop
sequence and nextval/setval/curval/lastval.
Documentation seems not talking about this... (
https://www.postgresql.org/docs/10/explicit-locking.html) Maybe should I
open a ticket?
Thanks
From | Date | Subject | |
---|---|---|---|
Next Message | Durgamahesh Manne | 2019-01-28 14:10:26 | Re: Regarding query execution for long time |
Previous Message | Ron | 2019-01-28 13:04:17 | Re: Regarding query execution for long time |