Re: How to hide stored procedure's bodies from specific user - Mailing list pgsql-general

From Pavel Stehule
Subject Re: How to hide stored procedure's bodies from specific user
Date
Msg-id CAFj8pRAK+ZZjBv2jSE9R6_z4zZ13pNXw7Y7sarz1qx8uQydOmA@mail.gmail.com
Whole thread Raw
In response to How to hide stored procedure's bodies from specific user  (Saimon Lim <aimon.slim@gmail.com>)
List pgsql-general
Hi

It is currently impossible on unpatched postgres.

I am selling a patch to postgres that does a obfuscation of procedure body

Regards

Pavel Stehule

2015-02-11 10:54 GMT+01:00 Saimon Lim <aimon.slim@gmail.com>:
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

pgsql-general by date:

Previous
From: John R Pierce
Date:
Subject: Re: How to hide stored procedure's bodies from specific user
Next
From: Tim Uckun
Date:
Subject: What's a reasonable maximum number for table partitions?