From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | Louis Battuello <louis(dot)battuello(at)etasseo(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Foreign Key Validation after Reference Table Ownership Change |
Date: | 2018-03-21 17:51:41 |
Message-ID: | e617f9f3-6bef-f2d5-2810-1ae9535964bd@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 03/21/2018 10:48 AM, Louis Battuello wrote:
>
>>
>> The point is you can't resolve a name like "schema_1.something" unless
>> you have USAGE on schema_1. So the RI-checking query, which is run as
>> the owner of the table, fails at parse time.
>
> That certainly makes sense for user_2 that owns the reference table and is blocked by not having usage on the reference table’s schema.
>
> But, user_1 owns both schemas and has usage on both but no longer owns the reference table in one schema. Why is user_1’s insert on the referencing table failing? Is the validation of the FK no longer done as user_1?
>
From Tom's post:
"
The point is you can't resolve a name like "schema_1.something" unless
you have USAGE on schema_1. So the RI-checking query, which is run as
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
the owner of the table, fails at parse time."
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It is not the user that is doing the INSERT that matters it is the user
that owns the table that matters.
--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2018-03-21 17:52:41 | Re: Foreign Key Validation after Reference Table Ownership Change |
Previous Message | Louis Battuello | 2018-03-21 17:48:15 | Re: Foreign Key Validation after Reference Table Ownership Change |