Tom Lane wrote:
"Eugene E." <[EMAIL PROTECTED]> writes:
db=# REVOKE all ON t FROM u;
db=# GRANT update,insert,delete ON t TO u;
db=# \c - u
db=> INSERT INTO t VALUES (1,'x');
INSERT
db=> UPDATE t SET a='y' WHERE i=1;
ERROR: Permission denied for relation t;
db=> UPDATE t SET a='y';
UPDATE
This behavior is correct and as documented in the UPDATE reference page:
Good
if you have a strange behavior - just document it. quite good.
You must have the UPDATE privilege on the table to update it, as
well as the SELECT privilege to any table whose values are read
in the expressions or condition.
This means that some privileges are NOT INDEPENDENT.
---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster