Re: parametric block size?
От | Alvaro Herrera |
---|---|
Тема | Re: parametric block size? |
Дата | |
Msg-id | 20140722172205.GT11811@eldon.alvh.no-ip.org обсуждение исходный текст |
Ответ на | parametric block size? (Fabien <coelho@cri.ensmp.fr>) |
Ответы |
Re: parametric block size?
Re: parametric block size? |
Список | pgsql-hackers |
Fabien wrote: > 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. I think you will find it more difficult to implement than it seems at first. For one thing, there are several macros that depend on the block size and the algorithms involved cannot work with dynamic sizes; consider MaxIndexTuplesPerPage which is used inPageIndexMultiDelete() for instance. That value is used to allocate an array in the stack, but that doesn't work if the array size is dynamic. (Actually it works almost everywhere, but that feature is not in C89 and thus it fails on Windows). That shouldn't be a problem, you say, just palloc() the array -- except that that function is called within critical sections in some places (e.g. _bt_delitems_vacuum) and you cannot use palloc there. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: