summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rowley <drowley@postgresql.org>2023-04-01 10:41:27 +1300
committerDavid Rowley <drowley@postgresql.org>2023-04-01 10:41:27 +1300
commitc8f8d0eb1868cc88d481518d2b6aa0767116055c (patch)
tree1988a2ce58770a8baa6f2b18afc17fe282193ba8
parentdf4f3ab51730a4cdddfead0b264d394ee4925723 (diff)
Doc: add Buffer Access Strategy to the glossary
It seems useful to add this to the glossary as there's discussion around adding an option to VACUUM to disable and adjust the size of the buffer access strategy that VACUUM uses. Author: Melanie Plageman Reviewed-by: Justin Pryzby, David Rowley Discussion: https://postgr.es/m/ZBYDTrD1kyGg%2BHkS%40telsasoft.com
-rw-r--r--doc/src/sgml/glossary.sgml28
1 files changed, 28 insertions, 0 deletions
diff --git a/doc/src/sgml/glossary.sgml b/doc/src/sgml/glossary.sgml
index 7c01a541fe4..29bf1873bdc 100644
--- a/doc/src/sgml/glossary.sgml
+++ b/doc/src/sgml/glossary.sgml
@@ -252,6 +252,34 @@
</glossdef>
</glossentry>
+ <glossentry id="glossary-buffer-access-strategy">
+ <glossterm>Buffer Access Strategy</glossterm>
+ <glossdef>
+ <para>
+ Some operations will access a large number of
+ <glossterm linkend="glossary-data-page">pages</glossterm>. A
+ <firstterm>Buffer Access Strategy</firstterm> helps to prevent these
+ operations from evicting too many pages from
+ <glossterm linkend="glossary-shared-memory">shared buffers</glossterm>.
+ </para>
+ <para>
+ A Buffer Access Strategy sets up references to a limited number of
+ <glossterm linkend="glossary-shared-memory">shared buffers</glossterm> and
+ reuses them circularly. When the operation requires a new page, a victim
+ buffer is chosen from the buffers in the strategy ring, which may require
+ flushing the page's dirty data and possibly also unflushed
+ <glossterm linkend="glossary-wal">WAL</glossterm> to permanent storage.
+ </para>
+ <para>
+ Buffer Access Strategies are used for various operations such as
+ sequential scans of large tables, <command>VACUUM</command>,
+ <command>COPY</command>, <command>CREATE TABLE AS SELECT</command>,
+ <command>ALTER TABLE</command>, <command>CREATE DATABASE</command>,
+ <command>CREATE INDEX</command>, and <command>CLUSTER</command>.
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id="glossary-cast">
<glossterm>Cast</glossterm>
<glossdef>