Для этого вам нужно динамический SQL , параметры не могут использоваться в качестве идентификаторов.
Чтобы правильно обращаться с именами, которые потенциально могут заключаться в кавычки, настоятельно рекомендуется использовать format()
функция для генерации SQL.
И вам нужно объявить функцию как returns void
, так как вы не хотите ничего возвращать.
CREATE FUNCTION create_seq(p_seq_name, text)
RETURNS void
AS
$$
begin
execute format('CREATE SEQUENCE %I START 100', p_seq_name);
end;
$$
LANGUAGE plpgsql;
Есливы используете Postgres 11, вы также можете использовать для этого процедуру вместо функции.