Is there any easy way to script granting privileges to a number of
functions? I've got as far as the following code before realising that
I'll need to pass in the arguments, and the arguments are stored as OIDs
in pg_proc.

Is there any easy way, such as GRANT .... FUNCTION OID 12345?

---CODE---

DECLARE
  curs REFCURSOR;
  funcname VARCHAR;
BEGIN
  OPEN foo FOR
    SELECT proname FROM pg_proc
     WHERE proname LIKE 'tr\\_%'
        OR proname LIKE 'tt\\_%'
        OR proname LIKE 'v\\_%'
        OR proname LIKE 'vui\\_%';

  FETCH curs INTO funcname;

  WHILE FOUND LOOP
    FETCH curs INTO funcname;
    EXECUTE 'GRANT EXECUTE ON FUNCTION ' || funcname || ' TO myuser';
  END LOOP;

  CLOSE curs;
END;

---END CODE---


Best regards,

Ben Stewart

--
Robert Bosch (Australia) Pty. Ltd.
Engineering Quality Services, Software Engineer (RBAU/EQS4)
Locked Bag 66 - Clayton South, VIC 3169 - AUSTRALIA
mailto:[EMAIL PROTECTED]
http://www.bosch.com.au/

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to