postgresql/doc/src/sgml/ref
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
..
abort.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
allfiles.sgml Revert MERGE patch 2018-04-12 11:22:56 +01:00
alter_aggregate.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_collation.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_conversion.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_database.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_default_privileges.sgml Refactor documentation about privileges to centralize the info. 2018-12-03 11:40:49 -05:00
alter_domain.sgml Doc: document that we expect CHECK constraint conditions to be immutable. 2018-12-07 16:40:58 -05:00
alter_event_trigger.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_extension.sgml SQL procedures 2017-11-30 11:03:20 -05:00
alter_foreign_data_wrapper.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_foreign_table.sgml Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
alter_function.sgml Create the infrastructure for planner support functions. 2019-02-09 18:08:48 -05:00
alter_group.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_index.sgml Lower lock level for renaming indexes 2018-11-14 17:09:54 +01:00
alter_language.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_large_object.sgml Doc: improve documentation about ALTER LARGE OBJECT requirements. 2018-12-11 11:21:36 -05:00
alter_materialized_view.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_opclass.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_operator.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_opfamily.sgml doc: Update uses of the word "procedure" 2018-08-22 14:44:49 +02:00
alter_policy.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_procedure.sgml SQL procedures 2017-11-30 11:03:20 -05:00
alter_publication.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_role.sgml Clarify documentation about PASSWORD in CREATE/ALTER ROLE 2018-11-23 09:10:24 +09:00
alter_routine.sgml SQL procedures 2017-11-30 11:03:20 -05:00
alter_rule.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_schema.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_sequence.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_server.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_statistics.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_subscription.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_system.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_table.sgml Improve docs for ALTER TABLE .. SET TABLESPACE 2019-02-28 19:24:21 -03:00
alter_tablespace.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_trigger.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_tsconfig.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_tsdictionary.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_tsparser.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_tstemplate.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_type.sgml Relax transactional restrictions on ALTER TYPE ... ADD VALUE (redux). 2018-10-09 12:51:01 +13:00
alter_user.sgml Clarify documentation about PASSWORD in CREATE/ALTER ROLE 2018-11-23 09:10:24 +09:00
alter_user_mapping.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
alter_view.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
analyze.sgml Add option SKIP_LOCKED to VACUUM and ANALYZE 2018-10-04 09:00:33 +09:00
begin.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
call.sgml Fix bugs in plpgsql's handling of CALL argument lists. 2018-11-04 13:25:39 -05:00
checkpoint.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
close.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
cluster.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
clusterdb.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
comment.sgml SQL procedures 2017-11-30 11:03:20 -05:00
commit.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
commit_prepared.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
copy.sgml Allow COPY FROM to filter data using WHERE conditions 2019-01-20 00:22:14 +01:00
create_access_method.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_aggregate.sgml Improve spelling of new FINALFUNC_MODIFY aggregate attribute. 2018-05-21 11:41:42 -04:00
create_cast.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_collation.sgml doc: Improve CREATE COLLATION locking documentation 2018-07-30 22:09:48 +02:00
create_conversion.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_database.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_domain.sgml Doc: document that we expect CHECK constraint conditions to be immutable. 2018-12-07 16:40:58 -05:00
create_event_trigger.sgml Change PROCEDURE to FUNCTION in CREATE TRIGGER syntax 2018-08-22 14:44:49 +02:00
create_extension.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_foreign_data_wrapper.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_foreign_table.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_function.sgml Create the infrastructure for planner support functions. 2019-02-09 18:08:48 -05:00
create_group.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_index.sgml Disable recheck_on_update optimization to avoid crashes. 2018-11-06 18:33:28 -05:00
create_language.sgml doc: Update uses of the word "procedure" 2018-08-22 14:44:49 +02:00
create_materialized_view.sgml Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
create_opclass.sgml doc: Update uses of the word "procedure" 2018-08-22 14:44:49 +02:00
create_operator.sgml Change PROCEDURE to FUNCTION in CREATE OPERATOR syntax 2018-08-22 14:44:49 +02:00
create_opfamily.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_policy.sgml doc: Whitespace fixes in man pages 2018-05-21 14:43:24 -04:00
create_procedure.sgml Prohibit transaction commands in security definer procedures 2018-07-13 10:41:32 +02:00
create_publication.sgml Logical replication support for TRUNCATE 2018-04-07 11:34:11 -04:00
create_role.sgml Clarify documentation about PASSWORD in CREATE/ALTER ROLE 2018-11-23 09:10:24 +09:00
create_rule.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_schema.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_sequence.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_server.sgml docs: fix spacing around "if not exists" brackets 2018-03-29 21:25:39 -04:00
create_statistics.sgml Documentation spell checking and markup improvements 2018-06-29 21:26:41 +02:00
create_subscription.sgml Remove extra word from create sub docs 2018-11-03 12:21:54 -04:00
create_table.sgml Allow generalized expression syntax for partition bounds 2019-01-25 11:28:49 +01:00
create_table_as.sgml Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
create_tablespace.sgml doc: Clarify CREATE TABLESPACE documentation 2018-10-01 14:07:01 +02:00
create_transform.sgml Adjust hints and docs to suggest CREATE EXTENSION not CREATE LANGUAGE. 2018-04-27 13:42:03 -04:00
create_trigger.sgml Change PROCEDURE to FUNCTION in CREATE TRIGGER syntax 2018-08-22 14:44:49 +02:00
create_tsconfig.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_tsdictionary.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_tsparser.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_tstemplate.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
create_type.sgml doc: Clarify CREATE TYPE ENUM documentation 2018-11-20 09:37:02 +01:00
create_user.sgml Clarify documentation about PASSWORD in CREATE/ALTER ROLE 2018-11-23 09:10:24 +09:00
create_user_mapping.sgml docs: fix spacing around "if not exists" brackets 2018-03-29 21:25:39 -04:00
create_view.sgml Add RECURSIVE to documentation index 2018-08-09 16:19:32 -04:00
createdb.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
createuser.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
deallocate.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
declare.sgml doc: adjust DECLARE docs to mention FOR UPDATE behavior 2018-05-28 13:16:02 -04:00
delete.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
discard.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
do.sgml Adjust hints and docs to suggest CREATE EXTENSION not CREATE LANGUAGE. 2018-04-27 13:42:03 -04:00
drop_access_method.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_aggregate.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_cast.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_collation.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_conversion.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_database.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_domain.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_event_trigger.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_extension.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_foreign_data_wrapper.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_foreign_table.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_function.sgml SQL procedures 2017-11-30 11:03:20 -05:00
drop_group.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_index.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_language.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_materialized_view.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_opclass.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_operator.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_opfamily.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_owned.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_policy.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_procedure.sgml SQL procedures 2017-11-30 11:03:20 -05:00
drop_publication.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_role.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_routine.sgml SQL procedures 2017-11-30 11:03:20 -05:00
drop_rule.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_schema.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_sequence.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_server.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_statistics.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_subscription.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_table.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_tablespace.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_transform.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_trigger.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_tsconfig.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_tsdictionary.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_tsparser.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_tstemplate.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_type.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_user.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_user_mapping.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
drop_view.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
dropdb.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
dropuser.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
ecpg-ref.sgml ecpg: Document new compatibility option 2018-06-07 23:33:24 -04:00
end.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
execute.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
explain.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
fetch.sgml Doc: minor improvement in pl/pgsql FETCH/MOVE documentation. 2018-07-12 12:29:03 -04:00
grant.sgml Refactor documentation about privileges to centralize the info. 2018-12-03 11:40:49 -05:00
import_foreign_schema.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
initdb.sgml Clarify behavior of initdb's --allow-group-access on Windows in docs 2019-02-04 09:57:20 +09:00
insert.sgml Revert MERGE patch 2018-04-12 11:22:56 +01:00
listen.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
load.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
lock.sgml Add more infinite recursion detection while locking a view. 2018-04-17 16:59:17 +09:00
move.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
notify.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pg_basebackup.sgml Improve wording about WAL files in tar mode of pg_basebackup 2019-01-29 10:42:41 +01:00
pg_config-ref.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
pg_controldata.sgml Add long options to pg_resetwal and pg_controldata 2018-03-24 21:49:53 -04:00
pg_ctl-ref.sgml Implement "pg_ctl logrotate" command 2018-09-01 19:46:49 +03:00
pg_dump.sgml Provide an extra-float-digits setting for pg_dump / pg_dumpall 2019-02-18 07:37:07 -05:00
pg_dumpall.sgml Add --exclude-database option to pg_dumpall 2019-03-01 10:47:44 -05:00
pg_isready.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pg_receivewal.sgml Allow group access on PGDATA 2018-04-07 17:45:39 -04:00
pg_recvlogical.sgml Allow group access on PGDATA 2018-04-07 17:45:39 -04:00
pg_resetwal.sgml pg_resetwal: Allow users to change the WAL segment size 2018-03-25 14:58:49 -04:00
pg_restore.sgml Fix description and documentation related to pg_restore --no-comments 2018-06-26 14:57:53 +09:00
pg_rewind.sgml Integrate recovery.conf into postgresql.conf 2018-11-25 16:33:40 +01:00
pg_verify_checksums.sgml pg_verify_checksums: rename -d to --verbose 2018-08-30 06:35:55 -03:00
pg_waldump.sgml doc: Fix minor whitespace issue 2018-11-13 13:51:38 +01:00
pgarchivecleanup.sgml Integrate recovery.conf into postgresql.conf 2018-11-25 16:33:40 +01:00
pgbench.sgml Fix portability problem in pgbench. 2019-01-24 11:31:54 -05:00
pgtestfsync.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pgtesttiming.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pgupgrade.sgml Add a --socketdir option to pg_upgrade. 2018-12-01 15:45:11 -05:00
postgres-ref.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
postmaster.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
prepare.sgml docs: Only first instance of a PREPARE parameter sets data type 2018-08-09 10:13:15 -04:00
prepare_transaction.sgml Restrict the use of temporary namespace in two-phase transactions 2019-01-18 09:21:44 +09:00
psql-ref.sgml tableam: introduce table AM infrastructure. 2019-03-06 09:54:38 -08:00
reassign_owned.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
refresh_materialized_view.sgml Mention ownership requirements for REFRESH MATERIALIZED VIEW in docs 2018-08-17 11:29:15 +09:00
reindex.sgml Restrict access to reindex of shared catalogs for non-privileged users 2018-08-09 09:40:15 +02:00
reindexdb.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
release_savepoint.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
reset.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
revoke.sgml Refactor documentation about privileges to centralize the info. 2018-12-03 11:40:49 -05:00
rollback.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
rollback_prepared.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
rollback_to.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
savepoint.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
security_label.sgml SQL procedures 2017-11-30 11:03:20 -05:00
select.sgml Allow user control of CTE materialization, and change the default behavior. 2019-02-16 16:11:12 -05:00
select_into.sgml Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
set.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
set_constraints.sgml Convert SGML IDs to lower case 2017-10-20 19:26:10 -04:00
set_role.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
set_session_auth.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
set_transaction.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
show.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
start_transaction.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
truncate.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
unlisten.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
update.sgml Allow insert and update tuple routing and COPY for foreign tables. 2018-04-06 19:22:03 -04:00
vacuum.sgml Add option SKIP_LOCKED to VACUUM and ANALYZE 2018-10-04 09:00:33 +09:00
vacuumdb.sgml Add --min-xid-age and --min-mxid-age options to vacuumdb 2019-01-31 13:07:56 +09:00
values.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00