Search Postgresql Archives

Re: Postgresql Page Layout details

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux