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
This commit is contained in:
David Rowley 2023-04-01 10:41:27 +13:00
parent df4f3ab517
commit c8f8d0eb18

View File

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