How to hide stored procedure's bodies from specific user

From: Saimon Lim <aimon(dot)slim(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: How to hide stored procedure's bodies from specific user
Date: 2015-02-11 09:54:16
Message-ID: CAOkVcQ66muZW7QyeYrO0n8V4r4FjzCaBYSk9u3H+fmRFZw1-dA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi
I want to hide my own stored procedures' bodies from the specific user.
As far as I know, procedure's body is visible in the pg_catalog.pg_proc
table.

So, I did the following:
REVOKE ALL ON pg_catalog.pg_proc FROM PUBLIC;

And after it, when user tries:
SELECT * from pg_proc;

The following error occurs:
ERROR: permission denied for relation pg_proc

It turns out that user don't have access to the body of the procedure.
But I still can get stored procedure's body using
\sf function_name
or with
\ef function_name

So, how can I completely hide my own stored procedure's bodies from this
user?

Thanks in advance
Saimon

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Gustavo Lopes 2015-02-11 15:19:48 EINTR causes panic (data dir on btrfs)
Previous Message Oliver 2015-02-11 07:53:31 Re: [GENERAL] Change postgresql encoding