Thread: A caveat of partitioning tables in the document
Hi. The latest document (doc/src/sgml/ddl.sgml) says ======================================= 2974 <itemizedlist> 2975 <listitem> 2976 <para> 2977 Constraint exclusion only works when the query's <literal>WHERE</> 2978 clause contains constants. A parameterized query will not be 2979 optimized, since the planner cannot know which partitions the 2980 parameter value might select at run time. For the same reason, 2981 <quote>stable</> functions such as <function>CURRENT_DATE</function> 2982 must be avoided. 2983 </para> 2984 </listitem ======================================= but in my understanding, this problem will be solved on 9.2 (with parameterized plans). Or some issues still remain ? Best regards, -- Tatsuhito Kasahara kasahara.tatsuhito _at_ gmail.com
On Wed, Aug 22, 2012 at 12:59 AM, Kasahara Tatsuhito <kasahara.tatsuhito@gmail.com> wrote: > Hi. > > The latest document (doc/src/sgml/ddl.sgml) says > ======================================= > 2974 <itemizedlist> > 2975 <listitem> > 2976 <para> > 2977 Constraint exclusion only works when the query's <literal>WHERE</> > 2978 clause contains constants. A parameterized query will not be > 2979 optimized, since the planner cannot know which partitions the > 2980 parameter value might select at run time. For the same reason, > 2981 <quote>stable</> functions such as <function>CURRENT_DATE</function> > 2982 must be avoided. > 2983 </para> > 2984 </listitem > ======================================= > but in my understanding, this problem will be solved on 9.2 (with > parameterized plans). > > Or some issues still remain ? At least this limitation "A parameterized query will not be optimized, since the planner cannot know which partitions the parameter value might select at run time." has been solved unless I'm missing something. So we should just get rid of that sentence from the document. Regards, -- Fujii Masao
Fujii Masao <masao.fujii@gmail.com> writes: > On Wed, Aug 22, 2012 at 12:59 AM, Kasahara Tatsuhito > <kasahara.tatsuhito@gmail.com> wrote: >> The latest document (doc/src/sgml/ddl.sgml) says >> ======================================= >> 2974 <itemizedlist> >> 2975 <listitem> >> 2976 <para> >> 2977 Constraint exclusion only works when the query's <literal>WHERE</> >> 2978 clause contains constants. A parameterized query will not be >> 2979 optimized, since the planner cannot know which partitions the >> 2980 parameter value might select at run time. For the same reason, >> 2981 <quote>stable</> functions such as <function>CURRENT_DATE</function> >> 2982 must be avoided. >> 2983 </para> >> 2984 </listitem >> ======================================= >> but in my understanding, this problem will be solved on 9.2 (with >> parameterized plans). >> >> Or some issues still remain ? > At least this limitation "A parameterized query will not be optimized, > since the planner cannot know which partitions the parameter value > might select at run time." has been solved unless I'm missing something. > So we should just get rid of that sentence from the document. Yes, I think we can take that out now. The issue with stable functions still remains though. regards, tom lane
2012/8/23 Tom Lane <tgl@sss.pgh.pa.us>: > Fujii Masao <masao.fujii@gmail.com> writes: >> On Wed, Aug 22, 2012 at 12:59 AM, Kasahara Tatsuhito >> <kasahara.tatsuhito@gmail.com> wrote: >>> The latest document (doc/src/sgml/ddl.sgml) says >>> ======================================= >>> 2974 <itemizedlist> >>> 2975 <listitem> >>> 2976 <para> >>> 2977 Constraint exclusion only works when the query's <literal>WHERE</> >>> 2978 clause contains constants. A parameterized query will not be >>> 2979 optimized, since the planner cannot know which partitions the >>> 2980 parameter value might select at run time. For the same reason, >>> 2981 <quote>stable</> functions such as <function>CURRENT_DATE</function> >>> 2982 must be avoided. >>> 2983 </para> >>> 2984 </listitem >>> ======================================= >>> but in my understanding, this problem will be solved on 9.2 (with >>> parameterized plans). >>> >>> Or some issues still remain ? > >> At least this limitation "A parameterized query will not be optimized, >> since the planner cannot know which partitions the parameter value >> might select at run time." has been solved unless I'm missing something. >> So we should just get rid of that sentence from the document. > > Yes, I think we can take that out now. The issue with stable functions > still remains though. Thanks for your replay. I see we can remove the topic from the doc except a issue with stable functions. Best regards, -- Tatsuhito Kasahara kasahara.tatsuhito _at_ gmail.com