Re: Using CTID system column as a "temporary" primary key

Adrian Klaver <adrian.klaver@aklaver.com>

From: Adrian Klaver <adrian.klaver@aklaver.com>
To: Sebastien Flaesch <sebastien.flaesch@4js.com>, Kirk Wolak <wolakk@gmail.com>
Cc: Geoff Winkless <pgsqladmin@geoff.dj>, pgsql-general <pgsql-general@lists.postgresql.org>
Date: 2023-03-29T19:23:32Z
Lists: pgsql-general
On 3/29/23 12:11, Sebastien Flaesch wrote:
> Oh the use of default keyword is new to me, thanks for that.
> 
> But to make PostgreSQL more Informix-compatible, zero should have been 
> considered as well.
> 

1) Why? Down the road to compatibility with some undetermined group of 
databases lies mayhem.

2) 0 can be a valid sequence value:

test(5432)=# create sequence zero_test start 0 minvalue 0;
CREATE SEQUENCE
test(5432)=# select * from zero_test ;
  last_value | log_cnt | is_called
------------+---------+-----------
           0 |       0 | f

Then what do you do?

-- 
Adrian Klaver
adrian.klaver@aklaver.com