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_3_BETA1~1039 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6e2e12c9477c3b48854433251ebca9709be3e87b;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 013dc7c4da..07bfc203ec 100644 --- a/doc/src/sgml/ddl.sgml +++ b/doc/src/sgml/ddl.sgml @@ -2975,11 +2975,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.