Tomasz Kliczak wrote:
> CONSTRAINT sy_task_priority FOREIGN KEY (sy_b_id)
> REFERENCES sy_b (id) MATCH SIMPLE
> When i try to add something into table dt_a I get error :
>
> ERROR: permission denied for relation sy_task_priority
> CONTEXT: SQL statement "SELECT 1 FROM ONLY "public"."sy_b" x WHERE "id" = $1
> FOR UPDATE OF x"
>
> I want to have constraint on table dt_a, and for table sy_b only SELECT
> grant.
> But when I add UPDATE grant on sy_b it works.
That's because the foreign-key takes a lock to *prevent* updates. To do
this it takes an update lock though, which is why you see the error message.
HTH
--
Richard Huxton
Archonet Ltd