Re: docco on external storage? - Mailing list pgsql-hackers

From Joe Conway
Subject Re: docco on external storage?
Date
Msg-id 3FA713F9.6020407@joeconway.com
Whole thread Raw
In response to docco on external storage?  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-hackers
Andrew Dunstan wrote:
> I have a table with two modest-length bytea fields (around 9K and 2K 
> respectively) of already compressed data. I was looking for a clue as to 
> whether or not these should use external storage - I suspect they should 
> but I didn't see anything that gave me a definite answer.
From src/include/access/tuptoaster.h:
-------------------------------------
/* * These symbols control toaster activation.  If a tuple is larger than * TOAST_TUPLE_THRESHOLD, we will try to toast
itdown to no more than * TOAST_TUPLE_TARGET bytes.  Both numbers include all tuple header and * alignment-padding
overhead.* * The numbers need not be the same, though they currently are. */
 
#define TOAST_TUPLE_THRESHOLD   (MaxTupleSize / 4)
#define TOAST_TUPLE_TARGET      (MaxTupleSize / 4)


And from src/include/access/htup.h:
-----------------------------------
/* * MaxTupleSize is the maximum allowed size of a tuple, including header * and MAXALIGN alignment padding.  Basically
it'sBLCKSZ minus the * other stuff that has to be on a disk page.  The "other stuff" * includes access-method-
dependent"special space", which we assume * will be no more than MaxSpecialSpace bytes (currently, on heap pages * it's
actuallyzero). * * NOTE: we do not need to count an ItemId for the tuple because * sizeof(PageHeaderData) includes the
firstItemId on the page. */
 
#define MaxSpecialSpace  32
#define MaxTupleSize    \        (BLCKSZ - MAXALIGN(sizeof(PageHeaderData) + MaxSpecialSpace))


And from src/include/pg_config_manual.h:
----------------------------------------
#define BLCKSZ  8192


So, it looks like the threshold for external storage is somewhere around 
2000 bytes.

Joe



pgsql-hackers by date:

Previous
From: "Marc G. Fournier"
Date:
Subject: Re: 7.4RC1 failed to build on Linux
Next
From: Tom Lane
Date:
Subject: Re: 7.4RC1 failed to build on Linux