Re: grant execute on many functions - Mailing list pgsql-admin

From Joe Conway
Subject Re: grant execute on many functions
Date
Msg-id 40E1ECEF.5090007@joeconway.com
Whole thread Raw
In response to grant execute on many functions  (Jean-Denis Giguere <jdenisgiguere@fastmail.fm>)
Responses Re: grant execute on many functions
List pgsql-admin
Jean-Denis Giguere wrote:
> But, the problem is more complex for functions because you have to give
> the arguments. You can find the list in the pg_proc table but they are
> store in a array by oid. So you can resolve the type with the table
> pg_type. After, you have to reproduce the correct syntax (with correct
> number of orgument, on one execute line...)
>

Does this help?

SELECT n.nspname || '.' || p.proname ||
        '(' || pg_catalog.oidvectortypes(p.proargtypes) || ')'
FROM pg_catalog.pg_proc p
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
WHERE p.prorettype <> 'pg_catalog.cstring'::pg_catalog.regtype
AND p.proargtypes[0] <> 'pg_catalog.cstring'::pg_catalog.regtype
AND NOT p.proisagg
AND pg_catalog.pg_function_is_visible(p.oid)
AND p.proname ~ '^format_type$';
                ?column?
--------------------------------------
  pg_catalog.format_type(oid, integer)
(1 row)

Joe

pgsql-admin by date:

Previous
From: Jean-Denis Giguere
Date:
Subject: grant execute on many functions
Next
From: "Iain"
Date:
Subject: Re: Stopping vacuum