postgresql/doc/src/sgml
Andres Freund 8586bf7ed8 tableam: introduce table AM infrastructure.
This introduces the concept of table access methods, i.e. CREATE
  ACCESS METHOD ... TYPE TABLE and
  CREATE TABLE ... USING (storage-engine).
No table access functionality is delegated to table AMs as of this
commit, that'll be done in following commits.

Subsequent commits will incrementally abstract table access
functionality to be routed through table access methods. That change
is too large to be reviewed & committed at once, so it'll be done
incrementally.

Docs will be updated at the end, as adding them incrementally would
likely make them less coherent, and definitely is a lot more work,
without a lot of benefit.

Table access methods are specified similar to index access methods,
i.e. pg_am.amhandler returns, as INTERNAL, a pointer to a struct with
callbacks. In contrast to index AMs that struct needs to live as long
as a backend, typically that's achieved by just returning a pointer to
a constant struct.

Psql's \d+ now displays a table's access method. That can be disabled
with HIDE_TABLEAM=true, which is mainly useful so regression tests can
be run against different AMs.  It's quite possible that this behaviour
still needs to be fine tuned.

For now it's not allowed to set a table AM for a partitioned table, as
we've not resolved how partitions would inherit that. Disallowing
allows us to introduce, if we decide that's the way forward, such a
behaviour without a compatibility break.

Catversion bumped, to add the heap table AM and references to it.

Author: Haribabu Kommi, Andres Freund, Alvaro Herrera, Dimitri Golgov and others
Discussion:
    https://postgr.es/m/20180703070645.wchpu5muyto5n647@alap3.anarazel.de
    https://postgr.es/m/20160812231527.GA690404@alvherre.pgsql
    https://postgr.es/m/20190107235616.6lur25ph22u5u5av@alap3.anarazel.de
    https://postgr.es/m/20190304234700.w5tmhducs5wxgzls@alap3.anarazel.de
2019-03-06 09:54:38 -08:00
..
ref tableam: introduce table AM infrastructure. 2019-03-06 09:54:38 -08:00
.gitignore git-ignore intermediate files from new docs toolchain. 2017-05-15 15:48:40 -04:00
Makefile Fix dbtoepub output file name 2019-02-21 15:43:28 +01:00
README.links doc: Update README.links 2019-02-15 17:29:41 +01:00
acronyms.sgml doc: Update redirecting links 2018-07-16 10:48:05 +02:00
adminpack.sgml Support new default roles with adminpack 2018-04-06 14:47:10 -04:00
advanced.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
amcheck.sgml Doc: Correct description of amcheck example query. 2018-08-08 12:56:11 -07:00
arch-dev.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05: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 Remove SGMLism from commit 2d36a5e9da 2018-07-31 08:16:30 -04:00
backup.sgml Integrate recovery.conf into postgresql.conf 2018-11-25 16:33:40 +01:00
bgworker.sgml Add missing documentation for BGWORKER_BYPASS_ALLOWCONN 2018-04-22 14:03:36 +02:00
biblio.sgml Convert SGML IDs to lower case 2017-10-20 19:26:10 -04:00
bki.sgml Move the built-in conversions into the initial catalog data. 2019-01-03 19:47:53 -05:00
bloom.sgml Fix some grammar errors in bloom.sgml 2018-10-22 00:28:56 +03:00
brin.sgml Remove deprecated abstime, reltime, tinterval datatypes. 2018-10-11 11:59:15 -07:00
btree-gin.sgml Add support of bool, bpchar, name and uuid to btree_gin 2018-04-05 18:19:10 +03:00
btree-gist.sgml Convert SGML IDs to lower case 2017-10-20 19:26:10 -04:00
btree.sgml Doc: fix meaning of acronym "btree". 2019-01-08 09:51:17 +09:00
catalogs.sgml Redesign the partition dependency mechanism. 2019-02-11 14:41:17 -05:00
charset.sgml Doc: fix oversights in "Client/Server Character Set Conversions" table. 2018-09-01 16:02:47 -04:00
citext.sgml Update gratuitous use of MD5 in documentation 2018-02-22 11:34:54 -05:00
client-auth.sgml doc: Update redirecting links 2018-07-16 10:48:05 +02:00
config.sgml Increase the default vacuum_cost_limit from 200 to 2000 2019-03-06 09:10:12 -05:00
contrib-spi.sgml Remove timetravel extension. 2018-10-11 11:43:56 -07:00
contrib.sgml Document security implications of search_path and the public schema. 2018-02-26 07:39:44 -08:00
cube.sgml Fix a number of typos 2018-06-20 16:01:18 +02:00
custom-scan.sgml Call set_rel_pathlist_hook before generate_gather_paths, not after. 2019-02-09 11:41:09 -05:00
datatype.sgml Change floating-point output format for improved performance. 2019-02-13 15:20:33 +00:00
datetime.sgml Document handling of invalid/ambiguous timestamp input near DST boundaries. 2018-11-29 18:28:10 -05:00
dblink.sgml Fix documentation for dblink_error_message() return value 2019-02-17 13:17:34 -05:00
ddl.sgml Clarify docs about limitations of constraint exclusion with partitions 2019-02-12 12:01:56 +09:00
dfunc.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
dict-int.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
dict-xsyn.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
diskusage.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
dml.sgml Fix typo 2018-06-20 16:06:03 +02:00
docguide.sgml Doc: fix typo in URL of OASIS group web site. 2019-01-23 13:06:45 +09:00
earthdistance.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
ecpg.sgml Add bytea datatype to ECPG. 2019-02-18 10:20:31 +01:00
errcodes.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
event-trigger.sgml Change PROCEDURE to FUNCTION in CREATE TRIGGER syntax 2018-08-22 14:44:49 +02:00
extend.sgml Add PG_CFLAGS, PG_CXXFLAGS, and PG_LDFLAGS variables to PGXS 2019-02-03 17:48:09 +09:00
external-projects.sgml doc: Update redirecting links 2018-07-16 10:48:05 +02:00
fdwhandler.sgml Store tuples for EvalPlanQual in slots, rather than as HeapTuples. 2019-03-01 10:37:57 -08:00
features.sgml Update SQL features/conformance information to SQL:2011 2012-05-17 09:50:04 +03:00
file-fdw.sgml Fix typos in documentation and for one wait event 2019-01-15 08:47:01 +09:00
filelist.sgml Doc: in each release branch, keep only that branch's own release notes. 2019-02-04 19:18:49 -05:00
func.sgml pg_partition_ancestors 2019-03-04 16:14:29 -03:00
fuzzystrmatch.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
generate-errcodes-table.pl Update copyright for 2019 2019-01-02 12:44:25 -05:00
generic-wal.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
geqo.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
gin.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
gist.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
high-availability.sgml Move max_wal_senders out of max_connections for connection slot handling 2019-02-12 10:07:56 +09:00
history.sgml doc: Update redirecting links 2018-07-16 10:48:05 +02:00
hstore.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
indexam.sgml Rephrase references to "time qualification". 2019-01-21 17:07:10 -08:00
indices.sgml Doc: rework introductory documentation about covering indexes. 2018-11-22 13:25:10 -05:00
info.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
information_schema.sgml doc: add doc link for 'applicable_roles' 2018-08-25 13:01:24 -04:00
install-windows.sgml Require C99 (and thus MSCV 2013 upwards). 2018-08-23 18:33:57 -07:00
installation.sgml Improve installation instructions with pg_ctl in documentation 2019-02-02 13:23:26 +09:00
intagg.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
intarray.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
intro.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
isn.sgml doc: Update redirecting links 2018-07-16 10:48:05 +02:00
jit.sgml Fix issues around EXPLAIN with JIT. 2018-10-03 12:48:37 -07:00
json.sgml Transforms for jsonb to PL/Perl 2018-04-03 09:47:18 -04:00
keywords.sgml Create the infrastructure for planner support functions. 2019-02-09 18:08:48 -05:00
legal.sgml Update copyright for 2019 2019-01-02 12:44:25 -05:00
libpq.sgml Fix typos in documentation and for one wait event 2019-01-15 08:47:01 +09:00
limits.sgml doc: Add appendix detailing some limits of PostgreSQL 2018-11-29 14:01:11 +01:00
lo.sgml Change PROCEDURE to FUNCTION in CREATE TRIGGER syntax 2018-08-22 14:44:49 +02:00
lobj.sgml Update copyright for 2019 2019-01-02 12:44:25 -05:00
logical-replication.sgml Fix some spelling errors in the documentation 2018-11-02 13:56:52 +01:00
logicaldecoding.sgml doc: Use = after long options in documentation 2018-05-21 14:54:24 -04:00
ltree.sgml Fix crash in contrib/ltree's lca() function for empty input array. 2018-07-13 18:45:30 -04:00
maintenance.sgml Update project link of pgBadger in documentation 2018-12-18 10:02:23 +09:00
manage-ag.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
mk_feature_tables.pl Reindent Perl files with perltidy version 20170521. 2018-04-25 14:00:19 -04:00
monitoring.sgml doc: Add security information about pg_stat_activity 2019-02-21 19:49:27 +01:00
mvcc.sgml Lower lock level for renaming indexes 2018-11-14 17:09:54 +01:00
nls.sgml doc: Update redirecting links 2018-07-16 10:48:05 +02:00
notation.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
oid2name.sgml Rework option set of oid2name 2018-08-28 21:33:32 +09:00
pageinspect.sgml Fix sample output for hash_metapage_info query 2018-11-26 17:24:14 -03:00
parallel.sgml Proof-reading for documentation. 2018-08-17 11:36:34 +12:00
passwordcheck.sgml doc: Update redirecting links 2018-07-16 10:48:05 +02:00
perform.sgml Improve planner stats documentation 2018-12-06 11:39:09 -05:00
pgbuffercache.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pgcrypto.sgml doc: Update broken links 2018-08-14 22:54:52 +02:00
pgfreespacemap.sgml Doc: Update the documentation for FSM behavior for small tables. 2019-02-20 17:37:39 +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 Extend pg_stat_statements_reset to reset statistics specific to a 2019-01-11 08:50:09 +05:30
pgstattuple.sgml Doc: Update the documentation for FSM behavior for small tables. 2019-02-20 17:37:39 +05:30
pgtrgm.sgml Fix a number of typos 2018-06-20 16:01:18 +02:00
pgvisibility.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
planstats.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
plhandler.sgml Change function call information to be variable length. 2019-01-26 14:17:52 -08:00
plperl.sgml Change PROCEDURE to FUNCTION in CREATE TRIGGER syntax 2018-08-22 14:44:49 +02:00
plpgsql.sgml Update docs & tests to reflect that unassigned OLD/NEW are now NULL. 2019-01-09 11:35:14 -05:00
plpython.sgml docs: clarify plpython SD and GD dictionary behavior 2018-08-25 11:52:30 -04:00
pltcl.sgml Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
postgres-fdw.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
postgres.sgml doc: Add appendix detailing some limits of PostgreSQL 2018-11-29 14:01:11 +01:00
problems.sgml Replace references to mailinglists with @lists.postgresql.org 2019-01-17 13:42:40 +01:00
protocol.sgml doc: Fix typo 2018-11-23 11:41:27 +01: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 Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
reference.sgml Move pg_verify_checksum docs to Server utils 2018-06-20 14:28:56 +02:00
regress.sgml Remove float8-small-is-zero regression test variant. 2019-02-16 22:11:04 +00:00
release-12.sgml Doc: in each release branch, keep only that branch's own release notes. 2019-02-04 19:18:49 -05:00
release.sgml Doc: in each release branch, keep only that branch's own release notes. 2019-02-04 19:18:49 -05: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 Doc: remove ancient comment. 2019-02-17 20:23:10 +09:00
runtime.sgml Move max_wal_senders out of max_connections for connection slot handling 2019-02-12 10:07:56 +09:00
seg.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
sepgsql.sgml Update gratuitous use of MD5 in documentation 2018-02-22 11:34:54 -05:00
sourcerepo.sgml Change default git repo URL to https 2018-02-07 11:00:26 +01:00
sources.sgml Require C99 (and thus MSCV 2013 upwards). 2018-08-23 18:33:57 -07:00
spgist.sgml Add support for nearest-neighbor (KNN) searches to SP-GiST 2018-09-19 01:54:10 +03:00
spi.sgml Doc: fix incorrect example of collecting arguments with fmgr macros. 2018-12-19 11:02:07 -05:00
sslinfo.sgml doc: Add link from sslinfo to pg_stat_ssl 2019-01-28 14:41:38 +01:00
standalone-install.xml Improve installation instructions with pg_ctl in documentation 2019-02-02 13:23:26 +09:00
standalone-profile.xsl Get rid of parameterized marked sections in SGML 2017-09-27 11:26:08 -04:00
start.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
storage.sgml Avoid creation of the free space map for small heap relations, take 2. 2019-02-04 07:49:15 +05:30
stylesheet-common.xsl doc: Turn on generate.consistent.ids parameter 2017-12-05 09:00:26 -05:00
stylesheet-fo.xsl doc: Improve PDF bookmarks 2017-08-15 14:37:44 -04:00
stylesheet-hh.xsl Replace references to mailinglists with @lists.postgresql.org 2019-01-17 13:42:40 +01:00
stylesheet-html-common.xsl Replace references to mailinglists with @lists.postgresql.org 2019-01-17 13:42:40 +01:00
stylesheet-html-nochunk.xsl Remove use of Jade and DSSSL 2017-04-06 22:09:11 -04: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: Tweak CSS 2017-04-12 15:41:41 -04:00
stylesheet.xsl Change documentation references to PG website to use https: not http: 2017-05-20 21:50:47 -04:00
syntax.sgml Document security implications of qualified names. 2018-07-28 20:08:01 -07:00
tablefunc.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
tablesample-method.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
tcn.sgml Change PROCEDURE to FUNCTION in CREATE TRIGGER syntax 2018-08-22 14:44:49 +02: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 Sync our Snowball stemmer dictionaries with current upstream. 2018-09-24 17:29:38 -04:00
trigger.sgml Change PROCEDURE to FUNCTION in CREATE TRIGGER syntax 2018-08-22 14:44:49 +02:00
tsm-system-rows.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
tsm-system-time.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
typeconv.sgml Document security implications of qualified names. 2018-07-28 20:08:01 -07:00
unaccent.sgml Make contrib/unaccent's unaccent() function work when not in search path. 2018-09-06 10:49:45 -04:00
user-manag.sgml Documentation spell checking and markup improvements 2018-06-29 21:26:41 +02:00
uuid-ossp.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
vacuumlo.sgml Rework option set of vacuumlo 2018-08-28 21:42:45 +09:00
wal.sgml doc: Update redirecting links 2018-07-16 10:48:05 +02:00
xaggr.sgml Improve spelling of new FINALFUNC_MODIFY aggregate attribute. 2018-05-21 11:41:42 -04:00
xfunc.sgml Allow extensions to generate lossy index conditions. 2019-02-11 21:26:14 -05:00
xindex.sgml Add support for nearest-neighbor (KNN) searches to SP-GiST 2018-09-19 01:54:10 +03:00
xml2.sgml Replace references to mailinglists with @lists.postgresql.org 2019-01-17 13:42:40 +01:00
xoper.sgml Create the infrastructure for planner support functions. 2019-02-09 18:08:48 -05:00
xplang.sgml Remove unnecessary use of PROCEDURAL 2019-02-25 08:38:59 +01:00
xtypes.sgml Deduplicate "invalid input syntax" messages for various types. 2018-07-22 14:58:01 -07:00

README.links

<!-- 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
----------

o  If you want to supply text, use <link>, else <xref>
o  Specific nouns like GUC variables, SQL commands, and contrib modules
   usually have xreflabels