table.
- Default expressions for the copied column definitions will only be
- copied if INCLUDING DEFAULTS is specified.
- Defaults that call database-modification functions, like
- nextval>, create a linkage between the original and
- new tables. The
+ Default expressions for the copied column definitions will be copied
+ only if INCLUDING DEFAULTS is specified. The
default behavior is to exclude default expressions, resulting in the
copied columns in the new table having null defaults.
+ Note that copying defaults that call database-modification functions,
+ such as nextval>, may create a functional linkage between
+ the original and new tables.
Not-null constraints are always copied to the new table.
CHECK constraints will be copied only if
INCLUDING CONSTRAINTS is specified.
- Indexes, PRIMARY KEY>, and UNIQUE> constraints
- on the original table will be created on the new table only if the
- INCLUDING INDEXES clause is specified.
No distinction is made between column constraints and table
constraints.
-
STORAGE> settings for the copied column definitions will only
- be copied if INCLUDING STORAGE is specified. The
+ Indexes, PRIMARY KEY>, UNIQUE>,
+ and EXCLUDE> constraints on the original table will be
+ created on the new table only if INCLUDING INDEXES
+ is specified. Names for the new indexes and constraints are
+ chosen according to the default rules, regardless of how the originals
+ were named. (This behavior avoids possible duplicate-name failures for
+ the new indexes.)
+
+ STORAGE> settings for the copied column definitions will be
+ copied only if INCLUDING STORAGE is specified. The
default behavior is to exclude STORAGE> settings, resulting
in the copied columns in the new table having type-specific default
settings. For more on STORAGE> settings, see
Comments for the copied columns, constraints, and indexes
- will only be copied if INCLUDING COMMENTS
+ will be copied only if INCLUDING COMMENTS
is specified. The default behavior is to exclude comments, resulting in
the copied columns and constraints in the new table having no comments.
-
INCLUDING ALL is an abbreviated form of
+ INCLUDING ALL is an abbreviated form of
INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING INDEXES INCLUDING STORAGE INCLUDING COMMENTS.
- Note also that unlike INHERITS, columns and
+ Note that unlike INHERITS, columns and
constraints copied by LIKE> are not merged with similarly
named columns and constraints.
If the same name is specified explicitly or in another
LIKE clause, an error is signaled.
- The LIKE clause can also be used to copy columns from
- views, foreign tables, or composite types. Inapplicable options (e.g., INCLUDING
- INDEXES from a view) are ignored.
+ The LIKE clause can also be used to copy column
+ definitions from views, foreign tables, or composite types.
+ Inapplicable options (e.g., INCLUDING INDEXES from
+ a view) are ignored.
+
+
LIKE> Clause
+
+ While a LIKE> clause exists in the SQL standard, many of the
+ options that
PostgreSQL accepts for it are not
+ in the standard, and some of the standard's options are not implemented
+
+
+
WITH> Clause