GRANT EXECUTE ON FUNCTION betya_ref."func_GetBetTypes"() TO public;
akan menutupinya. Kecuali bahwa Anda bahkan tidak membutuhkannya. Manual:
Tidak perlu GRANT
hak istimewa lainnya pada fungsi . GRANT
ke postgres
juga hanya noise, karena postgres
adalah pengguna super yang mengabaikan hak istimewa.
Anda juga:
GRANT USAGE ON SCHEMA betya_ref TO betya_users;
Apakah betya_users
seharusnya sama dengan dummy_users
?
Dan apakah Anda GRANT dummy_users TO dummy_user
(tunggal)?
Apakah Anda juga:
GRANT SELECT ON TABLE betya_ref."tbl_BET_TYPES" TO `dummy_user`
langsung atau tidak langsung? Hak istimewa untuk suatu fungsi tidak mencakup hak istimewa pada tabel yang terlibat, kecuali jika Anda membuat fungsi SECURITY DEFINER
. Dalam hal ini, pastikan untuk membaca bab "Menulis SECURITY DEFINER
Berfungsi dengan Aman"
dalam manual.
Saya tidak melihat pesan kesalahan, meskipun. Dengan hak istimewa yang hilang, seharusnya ada pesan kesalahan.