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
---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster