I am trying to set up default privileges in PostgreSQL 9.5.4 using the command ALTER DEFAULT PRIVILEGES.... This works when trying to grant permissions, but I can't figure out how to revoke execute permissions from functions by default. I have tried:
ALTER DEFAULT PRIVILEGES FOR USER myAdmin IN SCHEMA public
REVOKE EXECUTE ON FUNCTIONS FROM public;
This appears to have no effect on the output of \ddp. Is there a way to prevent functions from being executable by users other than the owner, unless otherwise granted? Thanks.
publiccurrently belong to?publicidentifier with a specific user's name. That also has no effect on the output of\ddp.SELECT * FROM pg_roles WHERE rolename = 'public';You should be able to see the privs. and roles for that role. An example would be the role issuperuserand therefore you altering the privs would not have an impact.rolenametorolname) returned 0 rows. It is my understanding that 'public' is a built-in keyword meaning all users. Is that not correct?IN SCHEMA public, though I have no idea what the difference is...