Add note that not all SQL commands support ONLY in the same way.

This commit is contained in:
Peter Eisentraut 2009-01-08 12:47:58 +00:00
parent af96c82019
commit 3467f02957

View File

@ -1,4 +1,4 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/ddl.sgml,v 1.84 2009/01/07 22:40:49 tgl Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/ddl.sgml,v 1.85 2009/01/08 12:47:58 petere Exp $ -->
<chapter id="ddl">
<title>Data Definition</title>
@ -2136,6 +2136,23 @@ VALUES ('New York', NULL, NULL, 'NY');
permissions on it.
</para>
<para>
More generally, note that not all SQL commands are able to work on
inheritance hierarchies. Commands that are used for data querying,
data modification, or schema modification
(e.g., <literal>SELECT</literal>, <literal>UPDATE</literal>, <literal>DELETE</literal>,
most variants of <literal>ALTER TABLE</literal>, but
not <literal>INSERT</literal> and <literal>ALTER TABLE ...
RENAME</literal>) typically default to including child tables and
support the <literal>ONLY</literal> notation to exclude them.
Commands that do database maintenance and tuning
(e.g., <literal>REINDEX</literal>, <literal>VACUUM</literal>)
typically only work on individual, physical tables and do no
support recursing over inheritance hierarchies. The respective
behavior of each individual command is documented in the reference
part (<xref linkend="sql-commands">).
</para>
<para>
A serious limitation of the inheritance feature is that indexes (including
unique constraints) and foreign key constraints only apply to single