Craig, a_horse a pozs poskytli informace, které vám mohou pomoci pochopit principy používání sekvencí. Kromě otázky, jak ji budete používat, je zde funkce, která vrací aktuální hodnotu sekvence, pokud byla inicializována nebo jinak null.
Pokud je sekvence seq
ještě nebyl inicializován, currval(seq)
vyvolá výjimku s sqlstate 55000.
create or replace function current_seq_value(seq regclass)
returns integer language plpgsql
as $$
begin
begin
return (select currval(seq));
exception
when sqlstate '55000' then return null;
end;
end $$;
select current_seq_value('my_table_id_seq')