Re: How to create "auto-increment" field WITHOUT a sequence object? - Mailing list pgsql-general

From Dmitry Koterov
Subject Re: How to create "auto-increment" field WITHOUT a sequence object?
Date
Msg-id BANLkTin_vmvijrC41dkv4X1Bq9zAxKjzdQ@mail.gmail.com
Whole thread Raw
In response to Re: How to create "auto-increment" field WITHOUT a sequence object?  ("A.M." <agentm@themactionfaction.com>)
Responses Re: How to create "auto-increment" field WITHOUT a sequence object?  (Greg Smith <greg@2ndQuadrant.com>)
List pgsql-general
Thank you.

It may not be "fully" gapless. The main cause is to keep uniq_id as low as it could be to not to exhaust 100000 values too fast.
I think solutions with addition tables look too complicated for this case, is there a possiblilty to not to use an additional table?

On Thu, Jun 30, 2011 at 10:55 PM, A.M. <agentm@themactionfaction.com> wrote:

On Jun 30, 2011, at 2:40 PM, Dmitry Koterov wrote:

> Hello.
>
> I need to create an auto-increment field on a table WITHOUT using sequences:

This problem pops up a lot for invoice sequence numbers for the tax office and related cases. (Search for "gapless sequence".)

Since the numbers are really only needed for an external system (as you mention), then it may make sense to generate the gapless IDs when necessary and map the generated IDs to the rows later. The drawback is that some rows in the table will not have the gapless ID until the batch job is run, but all rows will still be addressable by the real sequence ID.

Cheers,
M



--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

pgsql-general by date:

Previous
From: "A.M."
Date:
Subject: Re: How to create "auto-increment" field WITHOUT a sequence object?
Next
From: "David Johnston"
Date:
Subject: Re: How to create "auto-increment" field WITHOUT a sequence object?