git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: bb24af5)
doc: Simplify mention of unique indexes for NULL control
2020年5月21日 23:49:30 +0000 (19:49 -0400)
2020年5月21日 23:49:30 +0000 (19:49 -0400)
Discussion: https://postgr.es/m/2304.1586532634@sss.pgh.pa.us

Backpatch-through: 9.5


diff --git a/doc/src/sgml/indices.sgml b/doc/src/sgml/indices.sgml
index 9ccee05d6715b14ff3ec9f85b255d5c2fe69c140..210a9e0adfc3053405181af4db448d0d9a832774 100644 (file)
--- a/doc/src/sgml/indices.sgml
+++ b/doc/src/sgml/indices.sgml
@@ -697,15 +697,6 @@ CREATE INDEX test1_lower_col1_idx ON test1 (lower(col1));
</programlisting>
</para>
- <para>
- Expression indexes also allow control over the scope of unique indexes.
- For example, this unique index prevents duplicate integer values from
- being stored in a <type>double precision</type>-typed column:
-<programlisting>
-CREATE UNIQUE INDEX test1_uniq_int ON tests ((floor(double_col)))
-</programlisting>
- </para>
-
<para>
If we were to declare this index <literal>UNIQUE</literal>, it would prevent
creation of rows whose <literal>col1</literal> values differ only in case,
@@ -943,18 +934,11 @@ CREATE UNIQUE INDEX tests_success_constraint ON tests (subject, target)
WHERE success;
</programlisting>
This is a particularly efficient approach when there are few
- successful tests and many unsuccessful ones.
+ successful tests and many unsuccessful ones. It is also possible to
+ allow only one null in a column by creating a unique partial index
+ with an <literal>IS NULL</literal> restriction.
</para>
- <para>
- This index allows only one null in the indexed column by using a
- partial index clause to process only null column values, and using
- an expression index clause to index <literal>true</literal> instead
- of <literal>null</literal>:
-<programlisting>
-CREATE UNIQUE INDEX tests_target_one_null ON tests ((target IS NULL)) WHERE target IS NULL;
-</programlisting>
- </para>
</example>
<para>
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /