This is a known problem in 7.0.x. The insert/update
constrained table case should be fixed in 7.1.
You can get details about it in the mailing list archives.
Stephan Szabo
sszabo@bigpanda.com
On Tue, 31 Oct 2000, David Orr wrote:
> Your name : Dave Orr
> Your email address : dave@weft.co.uk
>
>
> System Configuration
> ---------------------
> Architecture (example: Intel Pentium) :Intel Pentium
>
> Operating System (example: Linux 2.0.26 ELF) :Linux 2-2.14-lmdklinus
>
> PostgreSQL version (example: PostgreSQL-7.0): PostgreSQL-7.0.2
>
> Compiler used (example: gcc 2.8.0) :gcc 2.95.2
>
>
> Please enter a FULL description of your problem:
> ------------------------------------------------
>
> I create two tables where a field in one is constrained to only contain values
> that exist in a field in the other. I create a group and grant all on the
> constrained table to that group. I grant the group select on the constraining
> table. I add a user to the group. When the user tries to insert into the
> constrained table, I get permission denied.
>
> I need to grant update on the constraining table in order to insert a record
> into the constrained table
>
>
> Please describe a way to repeat the problem. Please try to provide a
> concise reproducible example, if at all possible:
> ----------------------------------------------------------------------
> Create a database named test. Run this script into it:
>
> create table by_me(
> needed int primary key
> );
> insert into by_me values(1);
>
> create table im_constrained(
> field1 int,
>
> constraint im_constrained_by_me foreign key ( field1)
> references by_me
> match full
> on delete no action
> );
>
> create group test;
> grant select,update,delete,insert on im_constrained to group test;
> grant select on by_me to group test;
>
> Add a user to group "test"
> suid to that user and try to add a record
>
> test=> insert into im_constrained values(1);
> ERROR: by_me: Permission denied.
>
> If you know how this problem might be fixed, list the solution below:
> ---------------------------------------------------------------------
>