Craig, a_horse und pozs haben Informationen bereitgestellt, die Ihnen helfen können, die Prinzipien der Verwendung von Sequenzen zu verstehen. Abgesehen von der Frage, wie Sie es verwenden werden, ist hier eine Funktion, die den aktuellen Wert einer Sequenz zurückgibt, wenn sie initialisiert wurde, oder sonst null.
Wenn eine Sequenz seq
wurde noch nicht initialisiert, currval(seq)
löst eine Ausnahme mit sqlstate 55000.
aus
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')