Re: pg_sequence catalog

From: Andreas Karlsson <andreas(at)proxel(dot)se>
To: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andres Freund <andres(at)anarazel(dot)de>
Cc: Simon Riggs <simon(at)2ndquadrant(dot)com>, Greg Stark <stark(at)mit(dot)edu>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Craig Ringer <craig(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_sequence catalog
Date: 2016-11-10 05:27:08
Message-ID: 33299570-8ca0-44d5-cf40-4a8e68fb5807@proxel.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 11/10/2016 05:29 AM, Peter Eisentraut wrote:
> On 11/8/16 6:43 PM, Andreas Karlsson wrote:
>> - A worry is that it might get a bit confusing to have both the future
>> catalog pg_sequence and the view pg_sequences.
>
> We already have this in other cases: pg_index/pg_indexes,
> pg_user_mapping/pg_user_mappings. It's an established naming system by now.

Then I am fine with it.

>> - I think it would be useful to include is_cycled in the view.
>
> It's there under the name "cycle".

You are right, my bad, I managed to confuse myself.

>> - Shouldn't last_value be NULL directly after we have created the
>> sequence but nobody has called nextval() yet?
>>
>> - I noticed that last_value includes the cached values, but that also
>> seems to me like the correct thing to do.
>
> The documentation now emphasizes that this is the value stored on disk.
> This matches what Oracle does.

We also store is_called on disk, I think that if is_called is false then
last_value should be NULL. Either that or we should add is_called.

I will give the patch another review some time this week when i can find
the time.

Andreas

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2016-11-10 05:37:17 Re: Dynamic shared memory areas
Previous Message Tsunakawa, Takayuki 2016-11-10 05:13:05 Re: [bug fix] Cascading standby cannot catch up and get stuck emitting the same message repeatedly