Re: Postgresql Page Layout details

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


Concerning the 8KB page size, as i understood postgres
Page Size is different from the file system Block
size.
If the system block size is 4kB are there any
mechanism that guaranties that a postgres page is
stored on 2 adjacent file system blocks ?

Cause otherwise performance may suffer since accessing
1 page in postgres may require reading 2 distant
blocks!

According to my understanding of how file system
works, a file system block is the unit of exchange
between the hard disk and the main memory.

am i missing something ??

--- Richard Huxton <dev(at)archonet(dot)com> wrote:

> 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
>

____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Richard Huxton 2008-03-06 09:17:38 Re: Postgresql Page Layout details
Previous Message Joris Dobbelsteen 2008-03-06 09:05:11 Re: Planner: rows=1 after "similar to" where condition.