| From: | "Craig" <postgresql(at)bryden(dot)co(dot)za> |
|---|---|
| To: | "PG-General" <pgsql-general(at)postgresql(dot)org> |
| Subject: | Role Permissions |
| Date: | 2006-01-07 11:25:53 |
| Message-ID: | 000e01c6137d$1f91b3c0$0200a8c0@amd64 |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Hi
I am trying to understand how permissions work with plpgsql functions.
I have created a role (lets call it role1) and assigned EXECUTE to a function (lets call it func_1). In func_1, I select data from tableA.
I have then created another role (role2) that inherits from role1.
When I login as role2 and issue "select * from func_1(...);" it comes back with the following error:
"ERROR: permission denied for relation tableA".
I am trying to prevent anyone that inhertis from role1 to not be able to select from any database table, unless they execute a function that I have provided. How do I setup the security for this?
I come from an MS SQL background and in that RDBMS you can grant execute to a stored procedure and any objects that are accessed in the proc work, even if the user has no direct permissions to those objects.
Any help will be greatly appreciated
Craig
| From | Date | Subject | |
|---|---|---|---|
| Next Message | mastersail | 2006-01-07 15:11:27 | write on screen |
| Previous Message | pairat | 2006-01-07 10:39:16 | The connection is dead |