Hi, Since we now allow CHECK constraints to be placed on foreign tables, not only NOT NULL, I think it'd be better to update docs on considerations about constraints on foreign tables in fdwhandler.sgml, so as to provide more general considerations. Please find attached a patch.
Best regards, Etsuro Fujita
*** a/doc/src/sgml/fdwhandler.sgml --- b/doc/src/sgml/fdwhandler.sgml *************** *** 242,254 **** IterateForeignScan (ForeignScanState *node); <para> Note that <productname>PostgreSQL</productname>'s executor doesn't care ! whether the rows returned violate any <literal>NOT NULL</literal> ! constraints that were defined on the foreign table columns — but ! the planner does care, and may optimize queries incorrectly if ! <literal>NULL</> values are present in a column declared not to contain ! them. If a <literal>NULL</> value is encountered when the user has ! declared that none should be present, it may be appropriate to raise an ! error (just as you would need to do in the case of a data type mismatch). </para> <para> --- 242,254 ---- <para> Note that <productname>PostgreSQL</productname>'s executor doesn't care ! whether the rows returned violate any constraints that were defined on ! the foreign table — but the planner does care, and may optimize ! queries incorrectly if there are rows visible in the foreign table that ! do not satisfy a declared constraint. If a constraint is violated when ! the user has declared that the constraint should hold true, it may be ! appropriate to raise an error (just as you would need to do in the case ! of a data type mismatch). </para> <para>
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers