Si vous avez besoin du PK de la ligne que vous venez d'insérer (ou de toute expression utilisant les colonnes de la table), vous pouvez utiliser la clause RETURNING. Documents :clause RETURNING
Par exemple.
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