Re: Postgresql Page Layout details

From: Richard Huxton <dev(at)archonet(dot)com>
To: Najib Abi Fadel <nabifadel(at)yahoo(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Postgresql Page Layout details
Date: 2008-03-06 08:36:47
Message-ID: 47CFAD1F.7080801@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Najib Abi Fadel wrote:
> Dear all,
>
> i was reading the postgres docs concerning the
> Database Physical Storage. I found that the
> information present there is not enough to satisfy my
> curiosity.
> Are there any documentation out there that describes
> in more details the Database Physical Storage of
> potgres ?

Indeed - there are a lot of comments in the source code. If you really
need more details than is in the manuals you'll want to start looking at
the code anyway. The mailing list archives (particularly the hackers
list) should give some more insight too.

> In the Page Layout details, it is specified that a
> page is usually 8KB each. Does the page here means a
> file system block ? Can the page size in postgres be
> different from the file system block size ?

This is PG's block size and is unconnected from filesystem block sizes.
This 8KB limit used to mean our maximum row size was less than that, but
the introduction of the TOAST system means that larger columns are moved
out-of-line. The 8KB limit on a row is still there, but since that means
over a thousand integers / toast-pointers it's not much of a problem.

Some people used to suggest that a larger blocksize helped with specific
disk systems & disk block sizes. This means changing the setting in one
of the header files and recompiling. It also means your database files
aren't compatible with a normally-compiled version of PostgreSQL. I've
not seen anyone mention it recently, so maybe it's just not worth the
trouble any more.

--
Richard Huxton
Archonet Ltd

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Thomas Pundt 2008-03-06 09:04:10 Re: ER Diagram design tools (Linux)
Previous Message Najib Abi Fadel 2008-03-06 07:12:31 Postgresql Page Layout details