Hi!
I'd need help understanding what i am doing wrong...
Where am I:
=# \c
psql (15.8 (Homebrew), server 14.15 (Debian 14.15-1.pgdg120+1))
You are now connected to database "postgres" as user "postgres".
psql (15.8 (Homebrew), server 14.15 (Debian 14.15-1.pgdg120+1))
You are now connected to database "postgres" as user "postgres".
Init:
=# create role my_user;=# create schema my_schema;
=# create function my_schema.my_func(p1 text) returns integer as $$select 1::integer;$$ language sql;
It works...
=# select my_schema.my_func('x');
my_func
---------
1
my_func
---------
1
Now, the controversial part:
=# SELECT has_function_privilege('my_user', 'my_schema.my_func(text)', 'execute');
has_function_privilege
------------------------
t
has_function_privilege
------------------------
t
true?
Well... Ok, "whatever"... I revoke it:
=# revoke execute on function my_schema.my_func(text) from my_user;
REVOKE
REVOKE
But still:
=# select has_function_privilege('my_user', 'my_schema.my_func(text)', 'execute');
has_function_privilege
------------------------
t
has_function_privilege
------------------------
t
What am I doing wrong? :-)
Thanks for help!