Se hai bisogno del PK della riga che hai appena inserito (o di qualsiasi espressione che utilizzi le colonne della tabella), puoi utilizzare la clausola RETURNING. Documenti:clausola RETURNING
Es.
test=# create table a (id serial, val text);
NOTICE: CREATE TABLE will create implicit sequence "a_id_seq" for serial column "a.id"
CREATE TABLE
test=# insert into a (val) values ('foo') returning id;
id
----
1