Сначала создайте последовательность, чтобы получить идентификатор в виде целого числа:
create sequence test;
Затем создайте функцию sql, которая возвращает значение как varchar:
create or replace function ser() returns varchar as
$$
select right('000' || nextval('test')::varchar,4) as id;
$$
language sql;
Чтобы получить увеличенное значение вВ операторах вы можете вызвать функцию ser()
, которая всегда будет возвращать новое значение последовательности в виде varchar:
'0001' '0002' '0003' и т. д.
Помните, что при вызовеФункция, значение которой будет всегда увеличиваться, будет работать как первичный ключ.