¿Has considerado usar insert...returning..?
create table t(a serial, b int);
=>insert into t(b) values(1) returning a;
a
---
1
(1 row)
INSERT 0 1
=>insert into t(b) values(1) returning a;
a
---
2
(1 row)
INSERT 0 1
Saludos
--
Miguel Rodríguez Penabad