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

From: Sebastien Flaesch <sebastien(dot)flaesch(at)4js(dot)com>
To: Alban Hertroys <haramrae(at)gmail(dot)com>
Cc: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, Kirk Wolak <wolakk(at)gmail(dot)com>, Geoff Winkless <pgsqladmin(at)geoff(dot)dj>, pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Using CTID system column as a "temporary" primary key
Date: 2023-03-30 06:54:39
Message-ID: DBAP191MB12896897B8C7AD12E0A5F8CDB08E9@DBAP191MB1289.EURP191.PROD.OUTLOOK.COM
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


I understand and agree.

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

Seb
________________________________
From: Alban Hertroys <haramrae(at)gmail(dot)com>
Sent: Wednesday, March 29, 2023 10:15 PM
To: Sebastien Flaesch <sebastien(dot)flaesch(at)4js(dot)com>
Cc: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>; Kirk Wolak <wolakk(at)gmail(dot)com>; Geoff Winkless <pgsqladmin(at)geoff(dot)dj>; pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)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(dot)flaesch(at)4js(dot)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.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message houzj.fnst@fujitsu.com 2023-03-30 07:59:34 RE: Support logical replication of DDLs
Previous Message houzj.fnst@fujitsu.com 2023-03-30 06:37:10 RE: Support logical replication of DDLs