Hello devs,
The default blocksize is currently 8k, which is not necessary optimal for
all setup, especially with SSDs where the latency is much lower than HDD.
There is a case for different values with significant impact on
performance (up to a not-to-be-sneezed-at 10% on a pgbench run on SSD, see
http://www.cybertec.at/postgresql-block-sizes-getting-started/), and ISTM
that the ability to align PostgreSQL block size to the underlying FS/HW
block size would be nice.
This is currently possible, but it requires recompiling and maintaining
distinct executables for various block sizes. This is annoying, thus most
admins will not bother.
ISTM that a desirable and reasonably simple to implement feature would be
to be able to set the blocksize at "initdb" time, and "postgres" could use
the value found in the database instead of a compile-time one.
More advanced features, but with much more impact on the code, would be to
be able to change the size at database/table level.
Any thoughts?
--
Fabien.