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

Commitb1cbd2b

Browse files
committed
docs: add mention of index swapping
Backpatch to 9.3Greg Smith
1 parent146604e commitb1cbd2b

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

‎doc/src/sgml/maintenance.sgml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -748,8 +748,9 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu
748748

749749
<para>
750750
In some situations it is worthwhile to rebuild indexes periodically
751-
with the <xref linkend="sql-reindex">
752-
command.
751+
with the <xref linkend="sql-reindex"> command or a series of individual
752+
rebuilding steps.
753+
753754
</para>
754755

755756
<para>
@@ -775,6 +776,23 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu
775776
(This consideration does not apply to non-B-tree indexes.) It
776777
might be worthwhile to reindex periodically just to improve access speed.
777778
</para>
779+
780+
<para>
781+
<xref linkend="sql-reindex"> can be used safely and easily in all cases.
782+
But since the command requires an exclusive table lock, it is
783+
often preferable to execute an index rebuild with a sequence of
784+
creation and replacement steps. Index types that support
785+
<xref linkend="sql-createindex"> with the <literal>CONCURRENTLY</>
786+
option can instead be recreated that way. If that is successful and the
787+
resulting index is valid, the original index can then be replaced by
788+
the newly built one using a combination of <xref linkend="sql-alterindex">
789+
and <xref linkend="sql-dropindex">. When an index is used to enforce
790+
uniqueness or other constraints, <xref linkend="sql-altertable"> might
791+
be necessary to swap the existing constraint with one enforced by
792+
the new index. Review this alternate multi-step rebuild approach
793+
carefully before using it as there are limitations on which
794+
indexes can be reindexed this way, and errors must be handled.
795+
</para>
778796
</sect1>
779797

780798

‎doc/src/sgml/ref/create_index.sgml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ <replaceable class="parameter">name</
405405
</para>
406406

407407
<para>
408-
If a problem arises while scanning the table, such as a
408+
If a problem arises while scanning the table, such as a deadlock or a
409409
uniqueness violation in a unique index, the <command>CREATE INDEX</>
410410
command will fail but leave behind an <quote>invalid</> index. This index
411411
will be ignored for querying purposes because it might be incomplete;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp