pg_upgrade project status

From: Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: pg_upgrade project status
Date: 2008-11-10 14:56:07
Message-ID: 49184B87.5030505@sun.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

In the last week community made decision about pg_upgrade project and its
implementation. I would like to try summarize this conclusion and I add other
topic which should be finished for 8.4.

Convert on read has been selected as a good way, because it is not invasive and
does not limit fresh database. But, this way needs core modification which
allows to do online in-place upgrade. It means no online in-place upgrade to 8.4
will be implemented. Sorry about that, but we need move forward and there is not
easy way without core modification to do it.

As I mentioned manytimes before there are two major issues with convert on read
and one small issue.

1) Data does not fit on the new page. It will be solve by pre-upgrade check
which reserve space on each page, before upgrade.

2) No information about TOASTed data in TOAST table. It is problem for example
when varlena encoding is changed, or heaptupleheader or array data stucture.
Idea is to add column position into each chunk and also replace chunk ID by data
offset.

3) Access methods stores "shadow" data into pages - for example metapages or
hash index has bitmap pages, but there is no information on the page about this
and page conversion could lost the data. We need mark this pages. Metapage is
usually first page and it could be hardwired, but hash bitmap can be everywhere.

I suggest to add page flag HAS_EXTRA_CONTENT (give me a better name).

IIRC, somebody suggest to replace HASH bitmap pages with FSM? Any idea?

I hope that I mention all. Please feel free to add more information or correct
me if I wrong.

Thanks Zdenek

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2008-11-10 15:28:32 Re: Block-level CRC checks
Previous Message Michael Meskes 2008-11-10 14:40:50 gram.y=>preproc.y