'Identifier' columns - Mailing list pgsql-general

From David Favro
Subject 'Identifier' columns
Date
Msg-id 20180814022005.E2B66FB1@mail.meta-dynamic.com
Whole thread Raw
Responses Re: 'Identifier' columns
List pgsql-general
A couple of questions about auto-assigned identifier columns, 
forgive my ignorance, I'm used to other methods to create IDs...

1. If creating a new application [i.e. no "legacy" reasons to do 
anything] using PostgreSQL 10, when creating an "auto-assigned 
integer ID" column, what are the advantages/disadvantages of using 
the 'SERIAL' datatype [or equivalent explicitly created SEQUENCE w/ 
nextval() used as default for column] versus the SQL-standard 
'integer GENERATED AS IDENTITY'?  All other things being equal, it 
would seem a no-brainer to follow the standard.

2. When using the SQL-standard 'integer GENERATED AS IDENTITY' 
column, after inserting a column, what is the recommended method to 
find the ID of the just-inserted row?  Is there no SQL-standard way?  
The docs seem to imply (without explicitly stating) that a SEQUENCE 
is used behind the scenes hence 'currval()' could be used, but I 
didn't see in the docs any mention of what the underlying sequence's 
name is, or how to specify a name.  Perhaps 'lastval()' would work, 
but not in all cases and in any event it has a sloppy feel to me.

Thank you in advance for any advice that can be offered.

-- David


pgsql-general by date:

Previous
From: Vick Khera
Date:
Subject: Re: Vacuum process waiting on BufferPin
Next
From: Laurenz Albe
Date:
Subject: Re: 'Identifier' columns