Re: Boolean type storage format

From: Craig Ringer <ringerc(at)ringerc(dot)id(dot)au>
To: Mike Christensen <mike(at)kitchenpc(dot)com>
Cc: Raghavendra <raghavendra(dot)rao(at)enterprisedb(dot)com>, Alexander Gataric <gataric(at)usa(dot)net>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Boolean type storage format
Date: 2012-11-01 08:56:20
Message-ID: 50923934.9040000@ringerc.id.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 11/01/2012 02:25 AM, Mike Christensen wrote:
> It would also matter what columns were next to it, correct?
It doesn't look like PostgreSQL packs booleans. It still matters what's
next to it because of the alignment requirements of other data types,
but you still have a minimum of one byte per boolean. See:

regress=> SELECT pg_column_size( ROW('t'::boolean) );
pg_column_size
----------------
25
(1 row)

regress=> SELECT pg_column_size( ROW('t'::boolean, 't'::boolean) );
pg_column_size
----------------
26
(1 row)

regress=> SELECT pg_column_size( ROW('t'::boolean, 't'::boolean,
'f'::boolean, 't'::boolean) );
pg_column_size
----------------
28
(1 row)

--
Craig Ringer

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Kevin Burton 2012-11-01 11:48:21 Re: role does not exist
Previous Message John R Pierce 2012-11-01 08:05:32 Re: can a partition be loaded from file?