0005-Reorganize-am-as-both-table-and-index.patch
application/octet-stream
Filename: 0005-Reorganize-am-as-both-table-and-index.patch
Type: application/octet-stream
Part: 5
Patch
Format: format-patch
Series: patch 0005
Subject: Reorganize am as both table and index
| File | + | − |
|---|---|---|
| doc/src/sgml/am.sgml | 41 | 20 |
From 739209fc4930847229b96acd279aa3dfe556b44f Mon Sep 17 00:00:00 2001
From: kommih <haribabuk@fast.au.fujitsu.com>
Date: Thu, 7 Feb 2019 16:21:40 +1100
Subject: [PATCH 05/10] 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 @@
<!-- doc/src/sgml/am.sgml -->
-<chapter id="indexam">
- <title>Index Access Method Interface Definition</title>
+<chapter id="am">
+ <title>Access Method Interface Definition</title>
<para>
This chapter defines the interface between the core
- <productname>PostgreSQL</productname> system and <firstterm>index access
- methods</firstterm>, 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.
- </para>
-
+ <productname>PostgreSQL</productname> system and <firstterm>access
+ methods</firstterm>, which manage individual <literal>INDEX</literal>
+ and <literal>TABLE</literal> 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.
+ </para>
+
+ <sect1 id="table-access-methods">
+ <title>Overview of Table access methods </title>
+
+ <para>
+ All Tables in <productname>PostgreSQL</productname> are the primary
+ data store. Each table is stored as its own physical <firstterm>relation</firstterm>
+ and so is described by an entry in the <structname>pg_class</structname>
+ 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 <xref linkend="storage-page-layout"/>.)
+ </para>
+
+ </sect1>
+
+ <sect1 id="index-access-methods">
+ <title>Overview of Index access methods</title>
+
<para>
All indexes in <productname>PostgreSQL</productname> are what are known
technically as <firstterm>secondary indexes</firstterm>; that is, the index is
@@ -42,8 +60,8 @@
dead tuples are reclaimed (by vacuuming) when the dead tuples themselves
are reclaimed.
</para>
-
- <sect1 id="index-api">
+
+ <sect2 id="index-api">
<title>Basic API Structure for Indexes</title>
<para>
@@ -217,9 +235,9 @@ typedef struct IndexAmRoutine
conditions.
</para>
- </sect1>
+ </sect2>
- <sect1 id="index-functions">
+ <sect2 id="index-functions">
<title>Index Access Method Functions</title>
<para>
@@ -710,9 +728,11 @@ amparallelrescan (IndexScanDesc scan);
the beginning.
</para>
- </sect1>
+ </sect2>
+
+
- <sect1 id="index-scanning">
+ <sect2 id="index-scanning">
<title>Index Scanning</title>
<para>
@@ -865,9 +885,9 @@ amparallelrescan (IndexScanDesc scan);
if its internal implementation is unsuited to one API or the other.
</para>
- </sect1>
+ </sect2>
- <sect1 id="index-locking">
+ <sect2 id="index-locking">
<title>Index Locking Considerations</title>
<para>
@@ -979,9 +999,9 @@ amparallelrescan (IndexScanDesc scan);
reduce the frequency of such transaction cancellations.
</para>
- </sect1>
+ </sect2>
- <sect1 id="index-unique-checks">
+ <sect2 id="index-unique-checks">
<title>Index Uniqueness Checks</title>
<para>
@@ -1128,9 +1148,9 @@ amparallelrescan (IndexScanDesc scan);
</itemizedlist>
</para>
- </sect1>
+ </sect2>
- <sect1 id="index-cost-estimation">
+ <sect2 id="index-cost-estimation">
<title>Index Cost Estimation Functions</title>
<para>
@@ -1377,5 +1397,6 @@ cost_qual_eval(&index_qual_cost, path->indexquals, root);
Examples of cost estimator functions can be found in
<filename>src/backend/utils/adt/selfuncs.c</filename>.
</para>
+ </sect2>
</sect1>
</chapter>
--
2.20.1.windows.1