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