From 117469006bf525c6e8dc84cb9fcbdc4c1a050878 Mon Sep 17 00:00:00 2001 From: Simon Riggs Date: Mon, 27 Nov 2017 09:51:51 +0000 Subject: [PATCH] Additional docs for toast_tuple_target changes --- doc/src/sgml/storage.sgml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml index 128b19cbc9..c0e548fa5b 100644 --- a/doc/src/sgml/storage.sgml +++ b/doc/src/sgml/storage.sgml @@ -429,7 +429,7 @@ when a row value to be stored in a table is wider than TOAST_TUPLE_THRESHOLD bytes (normally 2 kB). The TOAST code will compress and/or move field values out-of-line until the row value is shorter than -TOAST_TUPLE_TARGET bytes (also normally 2 kB) +TOAST_TUPLE_TARGET bytes (also normally 2 kB, adjustable) or no more gains can be had. During an UPDATE operation, values of unchanged fields are normally preserved as-is; so an UPDATE of a row with out-of-line values incurs no TOAST costs if @@ -483,6 +483,11 @@ of that data type, but the strategy for a given table column can be altered with ALTER TABLE ... SET STORAGE. + +TOAST_TUPLE_TARGET can be adjusted for each table using +ALTER TABLE ... SET (toast_tuple_target = N) + + This scheme has a number of advantages compared to a more straightforward approach such as allowing row values to span pages. Assuming that queries are