From 4c685d4990dbf641914175628db1ba74ac3cabfa Mon Sep 17 00:00:00 2001 From: kommih Date: Thu, 7 Feb 2019 16:21:40 +1100 Subject: [PATCH 03/17] Reorganize am as both table and index There is not much table access methods info. --- doc/src/sgml/am.sgml | 61 +++++++++++++++++++++++++++++--------------- 1 file changed, 41 insertions(+), 20 deletions(-) diff --git a/doc/src/sgml/am.sgml b/doc/src/sgml/am.sgml index a9f0838ee5..579187ed1b 100644 --- a/doc/src/sgml/am.sgml +++ b/doc/src/sgml/am.sgml @@ -1,16 +1,34 @@ - - Index Access Method Interface Definition + + Access Method Interface Definition This chapter defines the interface between the core - PostgreSQL system and index access - methods, which manage individual index types. The core system - knows nothing about indexes beyond what is specified here, so it is - possible to develop entirely new index types by writing add-on code. - - + PostgreSQL system and access + methods, which manage individual INDEX + and TABLE types. The core system knows nothing + about these access methods beyond what is specified here, so it is + possible to develop entirely new access method types by writing add-on code. + + + + Overview of Table access methods + + + All Tables in PostgreSQL are the primary + data store. Each table is stored as its own physical relation + and so is described by an entry in the pg_class + catalog. The contents of an table are entirely under the control of its + access method. (All the access methods furthermore use the standard page + layout described in .) + + + + + + Overview of Index access methods + All indexes in PostgreSQL are what are known technically as secondary indexes; that is, the index is @@ -42,8 +60,8 @@ dead tuples are reclaimed (by vacuuming) when the dead tuples themselves are reclaimed. - - + + Basic API Structure for Indexes @@ -217,9 +235,9 @@ typedef struct IndexAmRoutine conditions. - + - + Index Access Method Functions @@ -710,9 +728,11 @@ amparallelrescan (IndexScanDesc scan); the beginning. - + + + - + Index Scanning @@ -865,9 +885,9 @@ amparallelrescan (IndexScanDesc scan); if its internal implementation is unsuited to one API or the other. - + - + Index Locking Considerations @@ -979,9 +999,9 @@ amparallelrescan (IndexScanDesc scan); reduce the frequency of such transaction cancellations. - + - + Index Uniqueness Checks @@ -1128,9 +1148,9 @@ amparallelrescan (IndexScanDesc scan); - + - + Index Cost Estimation Functions @@ -1377,5 +1397,6 @@ cost_qual_eval(&index_qual_cost, path->indexquals, root); Examples of cost estimator functions can be found in src/backend/utils/adt/selfuncs.c. + -- 2.20.1.windows.1