GRANT EXECUTE ON FUNCTION betya_ref."func_GetBetTypes"() TO public;
cobriria. Exceto que você nem precisa disso. O manual:
Não há necessidade de
GRANT
mais privilégios na função . O GRANT
para postgres
é apenas ruído também, porque postgres
é um superusuário que ignora privilégios. Você também:
GRANT USAGE ON SCHEMA betya_ref TO betya_users;
É
betya_users
deveria ser o mesmo que dummy_users
?E você
GRANT dummy_users TO dummy_user
(singular)? Você também:
GRANT SELECT ON TABLE betya_ref."tbl_BET_TYPES" TO `dummy_user`
diretamente ou indiretamente? Privilégios para uma função não cobre privilégios nas tabelas envolvidas, a menos que você faça a função
SECURITY DEFINER
. Nesse caso, certifique-se de ler o capítulo "Escrevendo SECURITY DEFINER
Funciona com segurança"
no manual. Não vejo uma mensagem de erro, no entanto. Com privilégios ausentes, deve haver uma mensagem de erro.