From: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> |
---|---|
To: | Jason Petersen <jason(at)citusdata(dot)com>, pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: Concurrent ALTER SEQUENCE RESTART Regression |
Date: | 2017-05-02 14:53:19 |
Message-ID: | c1864238-8f82-f8b5-b4d0-de351d3fbd9b@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
On 4/24/17 15:52, Jason Petersen wrote:
> 1. Create a new sequence: CREATE SEQUENCE my_seq;
> 2. Start this loop twice in different shells:
> while true; do psql -1Xtc 'ALTER SEQUENCE my_seq RESTART 1'; done
> Each loop should repeatedly succeed and simply print ALTER SEQUENCE over and over.
> The output stream is punctuated by occasional "ERROR: tuple concurrently updated" messages.
This message comes from the pg_sequence catalog update. But in the case
of the RESTART clause, you don't need to update the catalog, because it
just needs to write to the sequence's relation. So I have tweaked the
code a little to omit the catalog update if it's not needed. Your test
case works without errors now.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2017-05-02 15:05:38 | Re: Concurrent ALTER SEQUENCE RESTART Regression |
Previous Message | Peter Eisentraut | 2017-05-02 14:37:07 | Re: Concurrent ALTER SEQUENCE RESTART Regression |
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2017-05-02 15:05:38 | Re: Concurrent ALTER SEQUENCE RESTART Regression |
Previous Message | Petr Jelinek | 2017-05-02 14:48:21 | Re: Logical replication in the same cluster |