clarify constraint exclusion vs prepared statements

Started by Nonameabout 9 years ago2 messagesdocs
Jump to latest
#1Noname
john.christofolakos@gmail.com

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.

--
Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs

#2Bruce Momjian
bruce@momjian.us
In reply to: Noname (#1)
Re: clarify constraint exclusion vs prepared statements

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 +

--
Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs