From: Zdenek Kotala <Zdenek.Kotala@Sun.COM>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Subject: Re: WIP: Page space reservation (pgupgrade)
Date: Mon, 10 Nov 2008 14:26:36 +0100
Message-ID: <4918368C.1010003@sun.com> (raw)
In-Reply-To: <29590.1226192897@sss.pgh.pa.us>
References: <491619D2.2090602@sun.com>
<29590.1226192897@sss.pgh.pa.us>
Tom Lane napsal(a):
> Zdenek Kotala <Zdenek.Kotala@Sun.COM> writes:
>> Attached patch allows to setup storage parameter for space
>> reservation.
>
> What is the point of this? We don't need it for 8.3->8.4, we aren't
> going to back-patch such a thing into 8.2 or before (certainly not
> before, since reloptions didn't exist before 8.2), and I would hope we
> put in a more general solution than this for 8.4-to-later preparatory
> fixes.
There is whole idea.
By my opinion the space reservation is possible to split into three separate
problems:
1) First mandatory is to implement space reservation functionality in the core.
It is what this patch tries to do. It prevents to store new data in reserved
area. The configuration is implemented with reloptions.
I think This part is possible simply backported back to 8.2 and it allows
in-place online upgrade form 8.2 to 8.4 (and indirectly from 8.1). There is only
limitation for toasted arrays and composite datatypes, which can be solve with
offline conversion.
How Jim Nasby mentioned we need to add also per tuple space reservation which is
not required for V3->V4 upgrade or it is negative, but it is important to have
it for 8.4, because who know what will happen int 8.5 development.
By my opinion, this functionality is similar to fillfactor and it is
independent. And can be committed separately.
2) Second part is pre-upgrade check/preparation process. For 8.2 it has to be
store procedure which will work separately (no core changes). In 8.4 it will be
implemented into core - new column in pg_class and pg_database. Vacuum adjusting
and so on.
3) Last part is pre-upgrade configuration which correctly setup reserved space
all non-system relations in database cluster.
Thats my idea. Let me know any comments.
Thanks Zdenek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: Zdenek.Kotala@Sun.COM, tgl@sss.pgh.pa.us
Subject: Re: WIP: Page space reservation (pgupgrade)
In-Reply-To: <4918368C.1010003@sun.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox