From: Tom Lane Date: Thu, 23 Aug 2012 03:55:34 +0000 (-0400) Subject: Remove overly-pessimistic statement about constraint exclusion. X-Git-Tag: REL9_2_RC1~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ead31d1a72b1a99b2741c42adc951564992fb24f;p=postgresql Remove overly-pessimistic statement about constraint exclusion. As of 9.2, constraint exclusion should work okay with prepared statements: the planner will try custom plans with actual values of the parameters, and observe that they are a lot cheaper than the generic plan, and thus never fall back to using the generic plan. Noted by Tatsuhito Kasahara. --- diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml index ea840fb846..e52dff2dd5 100644 --- a/doc/src/sgml/ddl.sgml +++ b/doc/src/sgml/ddl.sgml @@ -2964,11 +2964,11 @@ ANALYZE measurement; Constraint exclusion only works when the query's WHERE - clause contains constants. A parameterized query will not be - optimized, since the planner cannot know which partitions the - parameter value might select at run time. For the same reason, - stable functions such as CURRENT_DATE - must be avoided. + clause contains constants (or externally supplied parameters). + For example, a comparison against a non-immutable function such as + CURRENT_TIMESTAMP cannot be optimized, since the + planner cannot know which partition the function value might fall + into at run time.