Pour connaître où on en est dans une séquence on peut utiliser :

Définition de la séquence :

\ds+ <nom_séquence>

\d+ <nom_séquence>

Obtenir la valeur actuelle :

select currval('<nom_séquence>');

Obtenir la valeur suivante :

select nextval('<nom_séquence>');

Obtenir la valeur précédente et si elle a été utilisée :

select last_value, is_called from <nom_séquence> ;

 

Info :

Lorsque vous utilisez 'currval' our obtenir la valeur actuelle de la séquence, vous pouvez avoir le message d'erreur : 

ERREUR: la valeur courante (currval) de la séquence « <nom_séquence> » n'est pas encore définie
dans cette session

si vous utiliser \set VERBOSITY verbose le message d'erreur est :

ERREUR:  55000: la valeur courante (currval) de la séquence « <nom_séquence> » n'est pas encore définie
dans cette session
EMPLACEMENT : currval_oid, sequence.c : 856

 

pour avoir une 'idée' utiliser la dernière requête (select last_value, is_called from <nom_séquence> ;) et la valeur sera celle donnée + le pas appelé "cache" par postgres