sequence used on null value or get the max value for a column whith concurrency

From: marcelo <marcelo(dot)nicolet(at)gmail(dot)com>
To: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: sequence used on null value or get the max value for a column whith concurrency
Date: 2017-08-10 22:05:35
Message-ID: 5e114139-d4d8-b402-3a0c-b82f1ebfa5f8@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

In some table, I have a bigint column which at the app level can be
null. Call it "DocumentNumber", and of course is not the PK.
In most cases, the applications give some value to the column.

But sometimes, the value remains null, expecting the backend or someone
assign it a unique value.

Could I use a sequence only when the field arrives to the backend as
null? How? Using a triger?

Alternatively:

How could I get the max value for the column and increment it by one,
but with concurrency warranty? Something as a table lock?

TIA

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2017-08-10 23:18:09 Re: sequence used on null value or get the max value for a column whith concurrency
Previous Message armand pirvu 2017-08-10 20:42:35 Re: pglogical sync