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.