Re: CREATE FOREGIN TABLE LACUNA - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: CREATE FOREGIN TABLE LACUNA
Date
Msg-id 4F61041C.5070001@dunslane.net
Whole thread Raw
In response to Re: CREATE FOREGIN TABLE LACUNA  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers

On 03/14/2012 04:44 PM, Tom Lane wrote:
> Peter Eisentraut<peter_e@gmx.net>  writes:
>> On ons, 2012-03-14 at 10:27 -0400, Tom Lane wrote:
>>> That opinion seems to me to connect to the recently-posted patch to
>>> make contrib/file_fdw enforce NOT NULL constraints.  Should we instead
>>> have the position that constraints declared for foreign tables are
>>> statements that we can take on faith, and it's the user's fault if
>>> they are wrong?
>> We should look into the NOT ENFORCED stuff for constraints in SQL:2011.
>> Then we can have both, and both for regular and foreign tables.
> Have both what?  The key point here is that we *can't* enforce
> constraints on foreign tables, at least not with anything like the
> semantics SQL constraints normally have.  Ignoring that point leads
> to nonsensical conclusions.
>
> Declaring a foreign constraint as NOT ENFORCED might be a reasonable
> thing to do, but it doesn't help us decide what to do when that clause
> isn't attached.
>
> On reflection I don't see anything much wrong with the "if you lied
> about the constraint it's your fault that things broke" position.
> It seems quite comparable to the fact that we take the user's assertions
> on faith as to the number and data types of the columns in a foreign
> table.
>
>             

Maybe we should say that for foreign tables NOT ENFORCED is implied. 
That seems to amount to much the same thing.

cheers

andrew



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: CREATE FOREGIN TABLE LACUNA
Next
From: Robert Haas
Date:
Subject: Re: wal_buffers, redux