GRANT EXECUTE ON FUNCTION betya_ref."func_GetBetTypes"() TO public;
würde es abdecken. Abgesehen davon, dass Sie das gar nicht brauchen. Das Handbuch:
GRANT
ist nicht erforderlich keine weiteren Privilegien auf die Funktion . Der GRANT
zu postgres
ist auch nur Lärm, weil postgres
ist ein Superuser, der Privilegien ignoriert.
Sie auch:
GRANT USAGE ON SCHEMA betya_ref TO betya_users;
Ist betya_users
soll dasselbe sein wie dummy_users
?
Und haben Sie GRANT dummy_users TO dummy_user
(Einzahl)?
Hast du auch:
GRANT SELECT ON TABLE betya_ref."tbl_BET_TYPES" TO `dummy_user`
direkt oder indirekt? Privilegien für eine Funktion nicht Rechte auf die beteiligten Tabellen abdecken, es sei denn, Sie machen die Funktion SECURITY DEFINER
. Lesen Sie in diesem Fall unbedingt das Kapitel "Schreiben von SECURITY DEFINER
Funktioniert sicher"
im Handbuch.
Ich sehe aber keine Fehlermeldung. Bei fehlenden Privilegien sollte es eine Fehlermeldung geben.