Re: [HACKERS] Another oddity in handling of WCO constraints in postgres_fdw
Stephen Frost <sfrost@snowman.net>
From: Stephen Frost <sfrost@snowman.net>
To: Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>
Cc: Robert Haas <robertmhaas@gmail.com>, Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2018-01-17T13:00:21Z
Lists: pgsql-hackers
Greetings Etsuro, Robert, all, * Etsuro Fujita (fujita.etsuro@lab.ntt.co.jp) wrote: > (2017/11/01 11:16), Robert Haas wrote: > >On Wed, Oct 4, 2017 at 5:58 PM, Ashutosh Bapat > ><ashutosh.bapat@enterprisedb.com> wrote: > >>The view with WCO is local but the modification which violates WCO is > >>being made on remote server by a trigger on remote table. Trying to > >>control that doesn't seem to be a good idea, just like we can't > >>control what rows get inserted on the foreign server when they violate > >>local constraints. > > > >I think that's a fair point. > > For local constraints on foreign tables, it's the user's responsibility to > ensure that those constraints matches the remote side, so we don't need to > ensure those constraints locally. But I'm not sure if the same thing > applies to WCOs on views defined on foreign tables, because in some case > it's not possible to impose constraints on the remote side that match those > WCOs, as I explained before. Reviewing this thread, I tend to agree with Etsuro and I'm not sure I see where there's a good argument for having a foreign table under a view behave differently than a local table under a view for WCO (which is an option of the view- not about the table underneath it or if it's local or remote). I've not done a detailed review of the patch but it seems pretty reasonable and pretty small. Thanks! Stephen
Commits
-
Fix WITH CHECK OPTION on views referencing postgres_fdw tables.
- a45adc747e27 12.0 landed
-
Allow insert and update tuple routing and COPY for foreign tables.
- 3d956d9562aa 11.0 cited
-
When WCOs are present, disable direct foreign table modification.
- 7086be6e3627 10.0 cited