Se usi una versione più recente di PostgreSQL (> 8.1) dovresti usare la clausola RETURNING del comando INSERT (e UPDATE).
OTOH se insisti nell'usare una delle funzioni di manipolazione della sequenza, leggi manuale fine . Un puntatore:"Si noti che poiché questo sta restituendo un valore locale della sessione, fornisce una risposta prevedibile indipendentemente dal fatto che altre sessioni abbiano eseguito o meno nextval da quando è stata eseguita la sessione corrente."