Как создать последовательность, если она не существует

Я пытался использовать код изПроверьте, существует ли последовательность в Postgres (plpgsql).

Создать последовательность, если она не существует. Запуск этого кода два раза вызывает исключение:

последовательность ... уже существует.

Как создать последовательность, только если она не существует?

Если последовательность не существует, сообщение не должно быть записано и не должно возникать ошибки, поэтому я не могу использовать хранимую процедуру в другом ответе на этот вопрос, поскольку она записывает сообщение в файл журнала каждый раз, когда последовательность существует.

do $
begin

SET search_path = '';
IF not EXISTS (SELECT * FROM pg_class
             WHERE relkind = 'S'
               AND oid::regclass::text = 'firma1.' || quote_ident('myseq'))
  THEN

SET search_path = firma1,public;

create sequence myseq;

END IF;

SET search_path = firma1,public;

end$;

select nextval('myseq')::int as nr;

Ответы на вопрос(6)

Ваш ответ на вопрос