Need help understanding has_function_privilege

From: Cosimo Simeone <cosimo(dot)simeone(at)gmail(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Need help understanding has_function_privilege
Date: 2025-03-19 08:24:03
Message-ID: CAD1W9HXMUZ6mjBVhNQJGqLQkMnyQAc28OAqvCEpZ_rOEH=eDfw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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".

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

Now, the controversial part:
=# SELECT has_function_privilege('my_user', 'my_schema.my_func(text)',
'execute');
has_function_privilege
------------------------
t

true?
Well... Ok, "whatever"... I revoke it:
=# revoke execute on function my_schema.my_func(text) from my_user;
REVOKE

But still:
=# select has_function_privilege('my_user', 'my_schema.my_func(text)',
'execute');
has_function_privilege
------------------------
t

What am I doing wrong? :-)

Thanks for help!

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Sylvain Cuaz 2025-03-19 08:24:05 Re: Restoring only a subset of schemas
Previous Message Christophe Pettus 2025-03-19 08:19:20 Re: pgvector as standard PostgreSQL feature?