From: | Vik Fearing <vik(at)postgresfriends(dot)org> |
---|---|
To: | Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: future of serial and identity columns |
Date: | 2022-10-07 12:02:52 |
Message-ID: | eae8883e-bbc6-82b6-1f10-77681ddb2599@postgresfriends.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 10/4/22 09:41, Peter Eisentraut wrote:
> In PostgreSQL 10, we added identity columns, as an alternative to serial
> columns (since 6.something). They mostly work the same. Identity
> columns are SQL-conforming, have some more features (e.g., overriding
> clause), and are a bit more robust in schema management. Some of that
> was described in [0]. AFAICT, there have been no complaints since that
> identity columns lack features or are somehow a regression over serial
> columns.
>
> But clearly, the syntax "serial" is more handy, and most casual examples
> use that syntax. So it seems like we are stuck with maintaining these
> two variants in parallel forever. I was thinking we could nudge this a
> little by remapping "serial" internally to create an identity column
> instead. At least then over time, the use of the older serial
> mechanisms would go away.
>
> Note that pg_dump dumps a serial column in pieces (CREATE SEQUENCE +
> ALTER SEQUENCE ... OWNED BY + ALTER TABLE ... SET DEFAULT). So if we
> did this, any existing databases would keep their old semantics, and
> those who really need it can manually create the old semantics as well.
>
> Attached is a demo patch how the implementation of this change would
> look like. This creates a bunch of regression test failures, but
> AFAICT, those are mainly display differences and some very peculiar test
> setups that are intentionally examining some edge cases. These would
> need to be investigated in more detail, of course.
I haven't tested the patch yet, just read it.
Is there any reason to use BY DEFAULT over ALWAYS? I tend to prefer the
latter.
--
Vik Fearing
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2022-10-07 12:07:34 | Re: future of serial and identity columns |
Previous Message | Robert Haas | 2022-10-07 11:59:08 | Re: use has_privs_of_role() for pg_hba.conf |