Re: Concurrent ALTER SEQUENCE RESTART Regression

Peter Eisentraut <peter.eisentraut@2ndquadrant.com>

From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Michael Paquier <michael.paquier@gmail.com>, Jason Petersen <jason@citusdata.com>, PostgreSQL mailing lists <pgsql-bugs@postgresql.org>
Date: 2017-06-16T16:15:55Z
Lists: pgsql-bugs, pgsql-hackers
On 6/14/17 13:58, Robert Haas wrote:
> On Tue, Jun 13, 2017 at 3:04 PM, Peter Eisentraut
> <peter.eisentraut@2ndquadrant.com> wrote:
>> On 5/2/17 12:45, Robert Haas wrote:
>>> Another thing that doesn't look so good about AlterSequence is that it
>>> uses RangeVarGetRelid() instead of RangeVarGetsRelidExtended() with
>>> RangeVarCallbackOwnsRelation or some derivative thereof.  That of
>>> course means you can obstruct access to a sequence you don't own.
>>
>> Here is a patch for this.  Note that this is old code, but it seems
>> worth fixing now while we're at it.
> 
> +1.

committed

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Commits

  1. Make ALTER SEQUENCE, including RESTART, fully transactional.

  2. Modify sequence catalog tuple before invoking post alter hook.

  3. Use weaker locks when updating pg_subscription_rel

  4. Add pg_sequence system catalog

  5. Modify sequence state storage to eliminate dangling-pointer problem