Thread: [DOCS] clarify constraint exclusion vs prepared statements

[DOCS] clarify constraint exclusion vs prepared statements

From
john.christofolakos@gmail.com
Date:
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/9.2/static/ddl-partitioning.html
Description:

Section 5.9.6 of the documentation discusses caveats re use of constraint
exclusion on partitioned tables. It seems the restriction that the query
constraints must be expressed in terms of constants has been lifted, and now
constraints may be expressed in terms of parameterised values.

I'm wondering if the restriction would still apply, though, in the case that
the query is being prepared in advance, then the constraint value passed in
as a parameter at execution time. It seems to me that constraint exclusion
would not be applied in this case, but would like clarification on this
point.

Re: [DOCS] clarify constraint exclusion vs prepared statements

From
Bruce Momjian
Date:
On Thu, Apr 27, 2017 at 08:23:03PM +0000, john.christofolakos@gmail.com wrote:
> The following documentation comment has been logged on the website:
>
> Page: https://www.postgresql.org/docs/9.2/static/ddl-partitioning.html
> Description:
>
> Section 5.9.6 of the documentation discusses caveats re use of constraint
> exclusion on partitioned tables. It seems the restriction that the query
> constraints must be expressed in terms of constants has been lifted, and now
> constraints may be expressed in terms of parameterised values.
>
> I'm wondering if the restriction would still apply, though, in the case that
> the query is being prepared in advance, then the constraint value passed in
> as a parameter at execution time. It seems to me that constraint exclusion
> would not be applied in this case, but would like clarification on this
> point.

I think you are right that we don't support any constraint exclusion at
execution time, but using EXPLAIN should show you what it is doing.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +