Re: Using CTID system column as a "temporary" primary key - Mailing list pgsql-general

From Sebastien Flaesch
Subject Re: Using CTID system column as a "temporary" primary key
Date
Msg-id DBAP191MB12896897B8C7AD12E0A5F8CDB08E9@DBAP191MB1289.EURP191.PROD.OUTLOOK.COM
Whole thread Raw
In response to Re: Using CTID system column as a "temporary" primary key  (Alban Hertroys <haramrae@gmail.com>)
List pgsql-general

I understand and agree.

Anyway, we suggest our customers to use sequences instead of serials.

Seb

From: Alban Hertroys <haramrae@gmail.com>
Sent: Wednesday, March 29, 2023 10:15 PM
To: Sebastien Flaesch <sebastien.flaesch@4js.com>
Cc: Adrian Klaver <adrian.klaver@aklaver.com>; Kirk Wolak <wolakk@gmail.com>; Geoff Winkless <pgsqladmin@geoff.dj>; pgsql-general <pgsql-general@lists.postgresql.org>
Subject: Re: Using CTID system column as a "temporary" primary key
 
EXTERNAL: Do not click links or open attachments if you do not recognize the sender.

> On 29 Mar 2023, at 21:11, Sebastien Flaesch <sebastien.flaesch@4js.com> 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.

…No, I’m not going to be humble about this opinion… Postgres does a sane thing here.
It’s Informix that you should be complaining about. Zero is not a sane value to specify special behaviour, it could mean zero and be just as valid. By consequence, Informix probably forbids zero as a sequence value, but that is an artefact (and a limitation) of its implementation, not a feature.

The core of your problem however, is that you’re trying to get database-agnostic behaviour by relying on database-specific features. That is not going to work, you’ve just been lucky enough to get away with it until now.

There’s really only one realistic answer here: Fix your design.

Regards,
Alban Hertroys
--
There is always an exception to always.




pgsql-general by date:

Previous
From: Vladimir Sitnikov
Date:
Subject: Re: Do BRIN indexes support MIN/MAX?
Next
From: Dominique Devienne
Date:
Subject: Re: Using CTID system column as a "temporary" primary key