Я хочу проверить пользователя перед выполнением некоторых запросов.Я делаю что-то вроде этого:
DO $do$
BEGIN
IF(current_user=$$usrA$$) THEN
ALTER TYPE enum_to_change ADD VALUE $$myNewValue$$;
ELSE
SELECT $$ERROR$$; /*must crash here*/
END IF;
END $do$;
Это не работает:
ERROR: ALTER TYPE ... ADD cannot be executed from a function or multi-command string
CONTEXT: SQL statement "ALTER TYPE e ADD VALUE 'myNewValue'"
PL/pgSQL function inline_code_block line 4 at SQL statement
Есть ли способ сделать это?