1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-31 22:04:40 +03:00

Parameter toast_tuple_target controls TOAST for new rows

Specifies the point at which we try to move long column values
into TOAST tables.

No effect on existing rows.

Discussion: https://postgr.es/m/CANP8+jKsVmw6CX6YP9z7zqkTzcKV1+Uzr3XjKcZW=2Ya00OyQQ@mail.gmail.com

Author: Simon Riggs <simon@2ndQudrant.com>
Reviewed-by: Andrew Dunstan <andrew.dunstan@2ndQuadrant.com>
This commit is contained in:
Simon Riggs
2017-11-20 09:50:10 +11:00
parent 52f63bd916
commit c2513365a0
7 changed files with 110 additions and 2 deletions

View File

@ -629,7 +629,7 @@ ALTER TABLE [ IF EXISTS ] <replaceable class="parameter">name</replaceable>
<para>
<literal>SHARE UPDATE EXCLUSIVE</literal> lock will be taken for
fillfactor and autovacuum storage parameters, as well as the
fillfactor, toast and autovacuum storage parameters, as well as the
following planner related parameters:
<varname>effective_io_concurrency</varname>, <varname>parallel_workers</varname>, <varname>seq_page_cost</varname>,
<varname>random_page_cost</varname>, <varname>n_distinct</varname> and <varname>n_distinct_inherited</varname>.

View File

@ -1200,6 +1200,27 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
</listitem>
</varlistentry>
<varlistentry>
<term><literal>toast_tuple_target</> (<type>integer</>)</term>
<listitem>
<para>
The toast_tuple_target specifies the minimum tuple length required before
we try to move long column values into TOAST tables, and is also the
target length we try to reduce the length below once toasting begins.
This only affects columns marked as either External or Extended
and applies only to new tuples - there is no effect on existing rows.
By default this parameter is set to allow at least 4 tuples per block,
which with the default blocksize will be 2040 bytes. Valid values are
between 128 bytes and the (blocksize - header), by default 8160 bytes.
Changing this value may not be useful for very short or very long rows.
Note that the default setting is often close to optimal, and
it is possible that setting this parameter could have negative
effects in some cases.
This parameter cannot be set for TOAST tables.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>parallel_workers</literal> (<type>integer</type>)</term>
<listitem>