Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commiteddcd49

Browse files
author
Neil Conway
committed
Add some documentation for constraint exclusion and basic partitioning.
From Simon Riggs; cleanup and editorialization by Neil Conway.
1 parentb524cb3 commiteddcd49

File tree

2 files changed

+718
-101
lines changed

2 files changed

+718
-101
lines changed

‎doc/src/sgml/config.sgml

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!--
2-
$PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.33 2005/10/26 12:55:07 momjian Exp $
2+
$PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.34 2005/11/01 23:19:05 neilc Exp $
33
-->
44
<chapter Id="runtime-config">
55
<title>Server Configuration</title>
@@ -1974,11 +1974,11 @@ archive_command = 'copy "%p" /mnt/server/archivedir/"%f"' # Windows
19741974
</para>
19751975

19761976
<para>
1977-
When this parameter is <literal>on</>, the planner compares query
1978-
conditions with table CHECK constraints, and omits scanning tables
1979-
where the conditions contradict the constraints. (Presently
1980-
this is done only for child tables of inheritance scans.) For
1981-
example:
1977+
When this parameter is <literal>on</>, the planner compares
1978+
queryconditions with table<literal>CHECK</> constraints, and
1979+
omits scanning tableswhere the conditions contradict the
1980+
constraints. (Presentlythis is done only for child tables of
1981+
inheritance scans.) Forexample:
19821982

19831983
<programlisting>
19841984
CREATE TABLE parent(key integer, ...);
@@ -1988,23 +1988,30 @@ CREATE TABLE child2000(check (key between 2000 and 2999)) INHERITS(parent);
19881988
SELECT * FROM parent WHERE key = 2400;
19891989
</programlisting>
19901990

1991-
With constraint exclusion enabled, this SELECT will not scan
1992-
<structname>child1000</> at all. This can improve performance when
1993-
inheritance is used to build partitioned tables.
1991+
With constraint exclusion enabled, this <command>SELECT</>
1992+
will not scan <structname>child1000</> at all. This can
1993+
improve performance when inheritance is used to build
1994+
partitioned tables.
19941995
</para>
19951996

19961997
<para>
1997-
Currently, <varname>constraint_exclusion</>defaults to
1998-
<literal>off</>, because it risks incorrect results if
1999-
query plans arecached--- if a table constraint is changed or dropped,
2000-
the previously generated plan might now be wrong, and there is no
2001-
built-in mechanism to force re-planning. (This deficiency will
2002-
probably be addressed in a future
2003-
<productname>PostgreSQL</productname> release.) Another reason
2004-
forkeeping it off is that the constraint checks are relatively
1998+
Currently, <varname>constraint_exclusion</>is disabled by
1999+
default because it risks incorrect results if query plans are
2000+
cached&mdash; if a table constraint is changed or dropped,
2001+
the previously generated plan might now be wrong, and there is
2002+
nobuilt-in mechanism to force re-planning. (This deficiency
2003+
willprobably be addressed in a future
2004+
<productname>PostgreSQL</> release.) Another reason for
2005+
keeping it off is that the constraint checks are relatively
20052006
expensive, and in many circumstances will yield no savings.
2006-
It is recommended to turn this on only if you are actually using
2007-
partitioned tables designed to take advantage of the feature.
2007+
It is recommended to turn this on only if you are actually
2008+
using partitioned tables designed to take advantage of the
2009+
feature.
2010+
</para>
2011+
2012+
<para>
2013+
Refer to <xref linkend="ce-partitioning"> for more information
2014+
on using constraint exclusion and partitioning.
20082015
</para>
20092016
</listitem>
20102017
</varlistentry>

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp