Re: Postgres table size

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: SHARMILA JOTHIRAJAH <sharmi_jo(at)yahoo(dot)com>
Cc: Erik Jones <erik(at)myemma(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Postgres table size
Date: 2007-11-21 18:14:02
Message-ID: 14705.1195668842@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

SHARMILA JOTHIRAJAH <sharmi_jo(at)yahoo(dot)com> writes:
> 1. How do you find the MAXALIGN of the machine? And what is that used for?

pg_controldata will show "maximum data alignment". A rule of thumb is
that it's 4 on 32-bit machines and 8 on 64-bit machines, but there are
exceptions.

> 2. How does null columns account for this space.

If there are any nulls in a row then you pay for a null bitmap with 1
bit/column, but the null columns themselves aren't stored and hence
take zero space. In your example the bitmap needs 10 bits, but after
allowing for alignment the effect is that the heap tuple header gets
4 bytes bigger if there's any nulls.

regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Reg Me Please 2007-11-21 18:19:46 Re: Table filter
Previous Message Scott Marlowe 2007-11-21 17:53:33 Re: Restart a sequence regularly