diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml
new file mode 100644
index c34ca53..dc687f9
*** a/doc/src/sgml/maintenance.sgml
--- b/doc/src/sgml/maintenance.sgml
*************** analyze threshold = analyze base thresho
*** 745,752 ****
In some situations it is worthwhile to rebuild indexes periodically
! with the
! command.
--- 745,753 ----
In some situations it is worthwhile to rebuild indexes periodically
! with the command or a series of individual
! rebuilding steps.
!
*************** analyze threshold = analyze base thresho
*** 772,777 ****
--- 773,796 ----
(This consideration does not apply to non-B-tree indexes.) It
might be worthwhile to reindex periodically just to improve access speed.
+
+
+ can be used safely and easily in all cases.
+ But since the command requires an exclusive table lock, it is
+ often preferable to execute an index rebuild with a sequence of
+ creation and replacement steps. Index types that support
+ with the CONCURRENTLY>
+ option can instead be recreated that way. If that is successful and the
+ resulting index is valid, the original index can then be replaced by
+ the newly built one using combinations of
+ and . When an index is used to enforce
+ uniqueness or other constraints, may
+ also be necessary, to swap the existing constraint to one enforced by
+ the new index. Review this alternate, multiple step rebuild approach
+ very carefully before using it, as there are limitations on which
+ indexes can be reindexed this way, and errors you should detect and
+ handle correctly.
+
diff --git a/doc/src/sgml/ref/create_index.sgml b/doc/src/sgml/ref/create_index.sgml
new file mode 100644
index 01faa3a..9a6a683
*** a/doc/src/sgml/ref/create_index.sgml
--- b/doc/src/sgml/ref/create_index.sgml
*************** CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ]
*** 405,411 ****
! If a problem arises while scanning the table, such as a
uniqueness violation in a unique index, the CREATE INDEX>
command will fail but leave behind an invalid> index. This index
will be ignored for querying purposes because it might be incomplete;
--- 405,411 ----
! If a problem arises while scanning the table, such as a deadlock or a
uniqueness violation in a unique index, the CREATE INDEX>
command will fail but leave behind an invalid> index. This index
will be ignored for querying purposes because it might be incomplete;