Re: SEQUENCE values (duplicated) in some corner cases when crashhappens - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: SEQUENCE values (duplicated) in some corner cases when crashhappens
Date
Msg-id 20200514224729.GA1233@alvherre.pgsql
Whole thread Raw
In response to Re: SEQUENCE values (duplicated) in some corner cases when crash happens  (Jeremy Schneider <schnjere@amazon.com>)
List pgsql-hackers
On 2020-May-14, Jeremy Schneider wrote:

> "Later stored it in the table" - I'd have to double check with the other
> team, but IIUC it was application pseudo-code like this:
> 
>   * execute SQL "select nextval()" and store result in
>     my_local_variable_unique_id
>   * commit

Yes, simply inserting the sequence value in a (logged!) dummy table
before this commit, as you suggest, should fix this problem.  The insert
ensures that the transaction commit is flushed to WAL.  The table need
not have indexes, making the insert faster.  Just make sure to truncate
the table every now and then.

+1 to documenting this.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Mark Dilger
Date:
Subject: Re: [PATCH] Fix ouside scope t_ctid (ItemPointerData)
Next
From: Mark Dilger
Date:
Subject: Re: [PATCH] Fix ouside scope t_ctid (ItemPointerData)