Re: Prototype: In-place upgrade
От | Heikki Linnakangas |
---|---|
Тема | Re: Prototype: In-place upgrade |
Дата | |
Msg-id | 48C0500A.8020301@enterprisedb.com обсуждение исходный текст |
Ответ на | Prototype: In-place upgrade (Zdenek Kotala <Zdenek.Kotala@Sun.COM>) |
Ответы |
Re: Prototype: In-place upgrade
Re: Prototype: In-place upgrade v02 |
Список | pgsql-hackers |
The patch seems to be missing the new htup.c file. Zdenek Kotala wrote: > Attached patch is prototype of in-place upgrade as was presented on > PGCon this year. > > Main idea is to learn postgres to handle different version of page and > tuple structures. > > 1) page - Patch contains new page API and all code access page through > this API. Functions check page version and return correct data to > caller. It is mostly complete now. Only ItemId flags need finish. > > 2) tuple - HeapTuple structure has been extended with t_ver attribute > which contains page layout version and direct access to HeapTupleHeader > is forbidden. It is possible now only through HeapTuple* functions (see > htup.c). (HeapTupleHeader access still stays in a several functions like > heap_form_tuple). > > This patch version still does not allow to read old database, but it > shows how it should work. Main disadvantage of this approach is > performance penalty. > > Please, let me know your opinion about this approach. > > Future work: > 1) learn WAL to process different tuple structure version > 2) tuple conversion to new version and put it into executor > (ExecStoreTuple) > 3) multiversion MaxItemSize constant -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: