Re: Sequence last value is different among primary and secondary

From: Kenny Bachman <kenny(dot)bachman17(at)gmail(dot)com>
To: Paul Smith <paul(at)pscs(dot)co(dot)uk>
Cc: pgsql-admin(at)lists(dot)postgresql(dot)org
Subject: Re: Sequence last value is different among primary and secondary
Date: 2022-11-15 13:28:37
Message-ID: CAC0w7LJghiKj3R62oYfbgebCt0JYERf=7JJyOk9BvHvKNiWCTQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hello Paul,

Yes, you are right, it makes sense.
Thank you so much for the explanation.

Best,

Paul Smith <paul(at)pscs(dot)co(dot)uk>, 15 Kas 2022 Sal, 11:54 tarihinde şunu yazdı:

> On 15/11/2022 08:24, Kenny Bachman wrote:
>
> Hello Team,
>
> I got a weird situation about the sequence value in PG 14.5 (rhel 8.6).
> The sequence's last value is different between primary and secondary nodes.
>
> This sequence output belongs to the PRIMARY node:
>
> SELECT * FROM "ACCOUNT_ITEM_SEQ" ;
> last_value | log_cnt | is_called
> ------------+---------+-----------
> 105485 | 31 | t
>
> This output belongs to the SECONDARY node:
>
> SELECT * FROM "ACCOUNT_ITEM_SEQ" ;
> last_value | log_cnt | is_called
> ------------+---------+-----------
> 105516 | 0 | t
>
> *There is no replication gap or lag between the nodes.*
> What is the reason behind this difference?
>
>
> I believe this is to do with the way PostgreSQL does sequences. It doesn't
> update the WAL every time a sequence increments, just every 32 times to
> avoid writing lots of unnecessary entries given that the sequence generally
> updates in a predictable manner. The 'log_cnt' keeps track of how many
> increments are to go before the next WAL update.
>
> I guess the secondary is just updated with the next 'step', so that if
> there's a failover, the sequence number is at a 'safe' position without
> causing duplicates. (note that the primary 'last_value + log_cnt' =
> secondary 'last_value')
>
> Eg, see
> https://stackoverflow.com/questions/66456952/what-does-log-cnt-mean-in-the-postgres-sequence
>
> Paul
>
> --
>
> Paul Smith Computer Services
> Tel: 01484 855800
> Vat No: GB 685 6987 53
>
> Sign up for news & updates <http://www.pscs.co.uk/go/subscribe>
>

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Dhirendra Singh 2022-11-16 05:26:39 does postgres support certificate file in p12 format ?
Previous Message Paul Smith 2022-11-15 08:48:09 Re: Sequence last value is different among primary and secondary