Re: Removing the default grant of EXECUTE on functions/procedures to PUBLIC

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Tefft, Michael J" <Michael(dot)J(dot)Tefft(at)snapon(dot)com>
Cc: "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Removing the default grant of EXECUTE on functions/procedures to PUBLIC
Date: 2024-07-05 14:51:01
Message-ID: 201663.1720191061@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"Tefft, Michael J" <Michael(dot)J(dot)Tefft(at)snapon(dot)com> writes:
> I am trying to remove the default grant of EXECUTE on all functions/procedures to PUBLIC.
>> From my reading, there is no straightforward way to do this. For example,
> ALTER DEFAULT PRIVILEGES REVOKE EXECUTE ON FUNCTIONS FROM PUBLIC;
> Does not apply this across the entire cluster (or database) but only applies to the role who issued it (and objects yet to be created by that role) .
> So I am arriving at the conclusion that I need to alter the default privileges for every existing role (which I expected), and ensure that default privileges are altered for every new role that is created going forward.

> Have I analyzed this correctly?

You'll also need to repeat the ALTERs in each database of your
installation.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2024-07-05 14:54:49 Re: Load a csv or a avro?
Previous Message David G. Johnston 2024-07-05 14:49:34 Re: Removing the default grant of EXECUTE on functions/procedures to PUBLIC