I had the following behaviour reported by a pgAdmin user on PostgreSQL
7.3 (reproduced here on 7.3rc1 as it's all I have right now):
dave=# create function dave.testfunc() returns int4 as 'select 1 + 2'
language sql;
CREATE FUNCTION
dave=# select proacl from pg_proc where proname = 'testfunc';
proacl
--------
(1 row)
dave=# grant execute on function dave.testfunc() to webmstrz;
GRANT
dave=# select proacl from pg_proc where proname = 'testfunc';
proacl
----------------------------
{=X,postgres=X,webmstrz=X}
(1 row)
I would not have expected public to now have execute permission. Any
reason for this, or is it a bug?
Regards, Dave.