Вы можете использовать функцию:
create or replace function drop_any_view(regclass)
returns void language plpgsql as $$
begin
execute format(
'drop %s view %s',
case (select relkind from pg_class where oid = $1)
when 'm' then 'materialized'
else '' end,
$1
);
end $$;
Функция отбрасывает вид независимо от того, материализован он или нет.
select drop_any_view('my_view');