Skip site navigation (1) Skip section navigation (2)

Re: docco on external storage?

From: Joe Conway <mail(at)joeconway(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Postgresql Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: docco on external storage?
Date: 2003-11-04 02:50:33
Message-ID: 3FA713F9.6020407@joeconway.com (view raw or flat)
Thread:
Lists: 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 it down 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's BLCKSZ 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 actually zero).
  *
  * NOTE: we do not need to count an ItemId for the tuple because
  * sizeof(PageHeaderData) includes the first ItemId 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


In response to

Responses

pgsql-hackers by date

Next:From: Jan WieckDate: 2003-11-04 03:54:01
Subject: Re: 7.4RC1 failed to build on Linux
Previous:From: Marc G. FournierDate: 2003-11-04 02:33:02
Subject: Re: 7.4RC1 failed to build on Linux

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group