postgresql/doc/src/sgml
Peter Eisentraut 086ffddf36 Fix several DDL issues of generated columns versus inheritance
Several combinations of generated columns and inheritance in CREATE
TABLE were not handled correctly.  Specifically:

- Disallow a child column specifying a generation expression if the
  parent column is a generated column.  The child column definition
  must be unadorned and the parent column's generation expression will
  be copied.

- Prohibit a child column of a generated parent column specifying
  default values or identity.

- Allow a child column of a not-generated parent column specifying
  itself as a generated column.  This previously did not work, but it
  was possible to arrive at the state via other means (involving ALTER
  TABLE), so it seems sensible to support it.

Add tests for each case.  Also add documentation about the rules
involving generated columns and inheritance.

Discussion:
    https://www.postgresql.org/message-id/flat/15830.1575468847%40sss.pgh.pa.us
    https://www.postgresql.org/message-id/flat/2678bad1-048f-519a-ef24-b12962f41807%40enterprisedb.com
    https://www.postgresql.org/message-id/flat/CAJvUf_u4h0DxkCMCeEKAWCuzGUTnDP-G5iVmSwxLQSXn0_FWNQ%40mail.gmail.com
2020-05-08 11:31:57 +02:00
..
images Replace genetic algorithm ASCII-art with a real figure 2019-08-19 12:05:38 -04:00
keywords Update SQL keywords list to SQL:2016 2019-05-14 15:44:37 +02:00
ref Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
.gitignore doc: Generate keywords table automatically 2019-05-07 15:29:39 +02:00
acronyms.sgml Update unicode.org URLs 2019-10-13 22:10:38 +02:00
adminpack.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
advanced.sgml docs: land height is "elevation", not "altitude" 2020-04-22 16:23:19 -04:00
amcheck.sgml Doc: Fix contrib/amcheck tip. 2020-04-11 21:07:20 -07:00
arch-dev.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
array.sgml docs: remove use of escape strings and use bytea hex output 2018-09-21 19:55:07 -04:00
auth-delay.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
auto-explain.sgml Fix collection of typos and grammar mistakes in the tree, volume 2 2020-04-14 14:45:43 +09:00
backup-manifest.sgml Add index term for backup manifest in documentation. 2020-04-17 18:37:38 +09:00
backup.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
bgworker.sgml doc: fix plurality typo on bgwriter doc sentence 2019-11-05 20:54:04 -05:00
biblio.sgml doc: Use proper em and en dashes 2019-10-25 20:39:41 +02:00
bki.sgml doc: Use proper em and en dashes 2019-10-25 20:39:41 +02:00
bloom.sgml doc: Spell checking 2020-02-10 08:34:43 +05:30
brin.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
btree-gin.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
btree-gist.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
btree.sgml Fix collection of typos and grammar mistakes in the tree 2020-04-10 11:18:39 +09:00
catalogs.sgml Fix collection of typos and grammar mistakes in the tree 2020-04-10 11:18:39 +09:00
charset.sgml Doc: remove now-redundant align specifications in colspecs. 2020-05-06 15:58:23 -04:00
citext.sgml Add deduplication to nbtree. 2020-02-26 13:05:30 -08:00
client-auth.sgml Doc: add a short summary of available authentication methods. 2019-12-19 09:42:57 -05:00
color.sgml Document color support 2020-03-29 11:15:11 +02:00
config.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
contrib-spi.sgml Remove timetravel extension. 2018-10-11 11:43:56 -07:00
contrib.sgml Remove support for upgrading extensions from "unpackaged" state. 2020-02-19 16:59:14 -05:00
cube.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
custom-scan.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
datatype.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
datetime.sgml doc: Use proper em and en dashes 2019-10-25 20:39:41 +02:00
dblink.sgml Fix documentation for dblink_error_message() return value 2019-02-17 13:17:34 -05:00
ddl.sgml Fix several DDL issues of generated columns versus inheritance 2020-05-08 11:31:57 +02:00
dfunc.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
dict-int.sgml Add an "absval" parameter to allow contrib/dict_int to ignore signs. 2020-03-08 18:35:06 -04:00
dict-xsyn.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
diskusage.sgml Fix many typos and inconsistencies 2019-07-01 10:00:23 +09:00
dml.sgml Fix typo 2018-06-20 16:06:03 +02:00
docguide.sgml Recreate website's formatting for "website" doc builds. 2020-02-14 18:38:35 -08:00
earthdistance.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
ecpg.sgml doc: Remove unused title ids 2020-03-13 15:45:37 +01:00
errcodes.sgml Doc: remove now-redundant align specifications in colspecs. 2020-05-06 15:58:23 -04:00
event-trigger.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
extend.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
external-projects.sgml Correct the URL pointing to PL/R 2019-04-27 09:30:22 -04:00
fdwhandler.sgml Doc: Update FDW documentation about direct foreign table modification. 2019-09-18 18:50:00 +09:00
features.sgml Doc: remove now-redundant align specifications in colspecs. 2020-05-06 15:58:23 -04:00
file-fdw.sgml docs: add backend_type to file-fdw CSV log example 2020-03-23 18:38:42 -04:00
filelist.sgml Document the backup manifest file format. 2020-04-14 13:41:32 -04:00
func.sgml Doc: standardize markup a bit more. 2020-05-04 13:48:30 -04:00
fuzzystrmatch.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
generate-errcodes-table.pl Update copyrights for 2020 2020-01-01 12:21:45 -05:00
generate-keywords-table.pl Doc: remove now-redundant align specifications in colspecs. 2020-05-06 15:58:23 -04:00
generic-wal.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
geqo.sgml Replace genetic algorithm ASCII-art with a real figure 2019-08-19 12:05:38 -04:00
gin.sgml doc: Spell checking 2019-07-05 08:34:54 +02:00
gist.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
glossary.sgml Add a glossary to the documentation 2020-04-03 13:23:20 -03:00
high-availability.sgml Doc: Outline REPLICATION before SUPERUSER privilege 2020-05-05 14:16:01 +09:00
history.sgml doc: Use proper em and en dashes 2019-10-25 20:39:41 +02:00
hstore.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
indexam.sgml Introduce IndexAM fields for parallel vacuum. 2020-01-15 07:24:14 +05:30
indices.sgml Implement operator class parameters 2020-03-30 19:17:23 +03:00
info.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
information_schema.sgml Remove obsolete information schema tables 2019-10-25 21:37:14 +02:00
install-windows.sgml Doc: Fix instructions to control build environment with MSVC 2020-02-21 12:05:29 +09:00
installation.sgml Use pkg-config, if available, to locate libxml2 during configure. 2020-03-17 12:09:26 -04:00
intagg.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
intarray.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
intro.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
isn.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
jit.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
json.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
keywords.sgml doc: Generate keywords table automatically 2019-05-07 15:29:39 +02:00
legal.sgml Update copyrights for 2020 2020-01-01 12:21:45 -05:00
libpq.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
limits.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
lo.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
lobj.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
logical-replication.sgml Allow publishing partition changes via ancestors 2020-04-08 11:19:23 +02:00
logicaldecoding.sgml Introduce xid8-based functions to replace txid_XXX. 2020-04-07 12:04:32 +12:00
ltree.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
maintenance.sgml Trigger autovacuum based on number of INSERTs 2020-03-28 19:20:12 +13:00
Makefile doc: Fix image use in PDF build with vpath 2019-08-19 10:30:47 +02:00
manage-ag.sgml doc: clarify hierarchy of objects: global, db, schema, etc. 2020-03-31 18:10:39 -04:00
mk_feature_tables.pl Silence Perl warning 2020-04-13 19:57:40 -04:00
monitoring.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
mvcc.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
nls.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
notation.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
oid2name.sgml Doc: fix some description of environment variables with frontend tools 2020-03-09 10:53:22 +09:00
pageinspect.sgml Doc: Fix pageinspect bt_page_items() example. 2020-02-29 15:10:13 -08:00
parallel.sgml Fix typos in parallel query docs. 2020-01-03 10:52:46 +05:30
passwordcheck.sgml doc: Update redirecting links 2018-07-16 10:48:05 +02:00
perform.sgml Fix collection of typos and grammar mistakes in the tree, volume 2 2020-04-14 14:45:43 +09:00
pgbuffercache.sgml Fix inconsistency in pg_buffercache docs. 2020-05-08 08:33:05 +05:30
pgcrypto.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
pgfreespacemap.sgml Revert "Avoid the creation of the free space map for small heap relations". 2019-05-07 09:30:24 +05:30
pgprewarm.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pgrowlocks.sgml Fix documentation of pgrowlocks using "lock_type" instead of "modes" 2018-10-02 16:34:41 +09:00
pgstandby.sgml Integrate recovery.conf into postgresql.conf 2018-11-25 16:33:40 +01:00
pgstatstatements.sgml Change the display of WAL usage statistics in Explain. 2020-05-05 08:00:53 +05:30
pgstattuple.sgml Revert "Avoid the creation of the free space map for small heap relations". 2019-05-07 09:30:24 +05:30
pgtrgm.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
pgvisibility.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
planstats.sgml doc: Use proper em and en dashes 2019-10-25 20:39:41 +02:00
plhandler.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
plperl.sgml Create contrib/bool_plperl to provide a bool transform for PL/Perl[U]. 2020-03-06 17:11:23 -05:00
plpgsql.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
plpython.sgml Invent "trusted" extensions, and remove the pg_pltemplate catalog. 2020-01-29 18:42:43 -05:00
pltcl.sgml doc: Use proper em and en dashes 2019-10-25 20:39:41 +02:00
postgres-fdw.sgml Only superuser can set sslcert/sslkey in postgres_fdw user mappings 2020-01-13 18:08:09 +10:30
postgres.sgml Document the backup manifest file format. 2020-04-14 13:41:32 -04:00
problems.sgml Fix inconsistencies and typos in the tree 2019-07-22 10:01:50 +09:00
protocol.sgml Code review for backup manifest. 2020-04-15 11:15:12 +09:00
queries.sgml Allow user control of CTE materialization, and change the default behavior. 2019-02-16 16:11:12 -05:00
query.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
rangetypes.sgml docs: clarify infinite range values from data-type infinities 2019-12-27 14:33:30 -05:00
README.links doc: Refine README.links further 2019-03-29 13:36:24 +01:00
reference.sgml Rename pg_validatebackup to pg_verifybackup. 2020-04-12 11:26:05 -04:00
regress.sgml Run UTF8-requiring collation tests by default 2019-07-31 09:46:51 +02:00
release-13.sgml doc: PG 13 relnotes: adjust partitioning items 2020-05-07 13:06:31 -04:00
release.sgml doc: normalize contributor names in PG 13 release notes 2020-05-05 12:42:55 -04:00
replication-origins.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
rowtypes.sgml docs: remove use of escape strings and use bytea hex output 2018-09-21 19:55:07 -04:00
rules.sgml Clarify that pg_trgm is used in example 2020-01-09 10:48:22 +01:00
runtime.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
seg.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
sepgsql.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
sourcerepo.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
sources.sgml Re-implement the ereport() macro using __VA_ARGS__. 2020-03-24 11:49:00 -04:00
spgist.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
spi.sgml Further adjust SPITupleTable to provide a public row-count field. 2019-07-18 10:37:13 -04:00
sslinfo.sgml Fix inconsistencies and typos in the tree, take 9 2019-08-05 12:14:58 +09:00
standalone-install.xml Doc: tweak installation doc edits made by commit 76c2af926. 2019-09-06 11:24:42 -04:00
standalone-profile.xsl Update to DocBook 4.5 2019-08-13 08:40:17 +02:00
start.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
storage.sgml doc: Update for Unix-domain sockets on Windows 2020-04-02 08:01:30 +02:00
stylesheet-common.xsl Doc: re-re-revise markup for tables of functions. 2020-04-30 00:34:12 -04:00
stylesheet-fo.xsl Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
stylesheet-hh.xsl doc: Add some images 2019-03-27 23:10:23 +01:00
stylesheet-html-common.xsl Recreate website's formatting for "website" doc builds. 2020-02-14 18:38:35 -08:00
stylesheet-html-nochunk.xsl doc: Add some images 2019-03-27 23:10:23 +01:00
stylesheet-man.xsl doc: Improve man build speed 2018-02-28 09:26:36 -05:00
stylesheet-speedup-common.xsl doc: Further speed improvements for HTML XSLT build 2016-12-22 15:41:44 -05:00
stylesheet-speedup-xhtml.xsl doc: Further speed improvements for HTML XSLT build 2016-12-22 15:41:44 -05:00
stylesheet-text.xsl Create INSTALL file via XSLT 2017-03-08 08:41:23 -05:00
stylesheet.css Doc: re-re-revise markup for tables of functions. 2020-04-30 00:34:12 -04:00
stylesheet.xsl Recreate website's formatting for "website" doc builds. 2020-02-14 18:38:35 -08:00
syntax.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
tableam.sgml docs: correct typo-ed path to heapam_handler.c. 2019-04-17 17:31:54 -07:00
tablefunc.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
tablesample-method.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
tcn.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
test-decoding.sgml doc: Fix reference to "decoder" to instead be the correct "output plugin". 2018-07-24 10:42:59 -07:00
textsearch.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
trigger.sgml Enable BEFORE row-level triggers for partitioned tables 2020-03-18 18:58:05 -03:00
tsm-system-rows.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
tsm-system-time.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
typeconv.sgml Document security implications of qualified names. 2018-07-28 20:08:01 -07:00
unaccent.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
user-manag.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
uuid-ossp.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
vacuumlo.sgml Doc: fix some description of environment variables with frontend tools 2020-03-09 10:53:22 +09:00
wal.sgml Fix the name of the first WAL segment file, in docs. 2020-03-03 12:22:04 +09:00
xaggr.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
xfunc.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
xindex.sgml Doc: further fooling-about with rendering of tables in PDF output. 2020-05-06 12:23:54 -04:00
xml2.sgml Doc: update remaining tables of functions/operators for new layout. 2020-05-07 14:25:25 -04:00
xoper.sgml Improve selectivity estimation for assorted match-style operators. 2020-04-01 10:32:33 -04:00
xplang.sgml Invent "trusted" extensions, and remove the pg_pltemplate catalog. 2020-01-29 18:42:43 -05:00
xtypes.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00

<!-- doc/src/sgml/README.links -->

Linking within DocBook documents can be confusing, so here is a summary:


Intra-document Linking
----------------------

<xref>
	use to get chapter/section number from the title of the target
	link, or xreflabel if defined at the target, or refentrytitle if target
        is a refentry;  has no close tag
	http://www.oasis-open.org/docbook/documentation/reference/html/xref.html

<link>
	use to supply text for the link, requires </link>
	http://www.oasis-open.org/docbook/documentation/reference/html/link.html

linkend=
	controls the target of the link/xref, required

endterm=
	for <xref>, allows the text of the link/xref to be taken from a
	different link target title


External Linking
----------------

<ulink>
	like <link>, but uses a URL (not a document target);  requires
	</ulink>; if no text is specified, the URL appears as the link
	text
	http://www.oasis-open.org/docbook/documentation/reference/html/ulink.html

url=
	used by <ulink> to specify the URL, required


Guidelines
----------

- For an internal link, if you want to supply text, use <link>, else
  <xref>.

- Specific nouns like GUC variables, SQL commands, and contrib modules
  usually have xreflabels.

- For an external link, use <ulink>, with or without link text.