Si vous utilisez une version plus récente de PostgreSQL (> 8.1), vous devez utiliser la clause RETURNING de la commande INSERT (et UPDATE).
OTOH si vous insistez pour utiliser l'une des fonctions de manipulation de séquence, veuillez lire le beau manuel . Un pointeur :"Notez que, comme cela renvoie une valeur locale à la session, il donne une réponse prévisible, que d'autres sessions aient ou non exécuté nextval depuis la session en cours."