pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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




view thread (11+ messages)  latest in thread

Message-ID: <4918368C.1010003@sun.com>
Permalink:  ../4918368C.1010003@sun.com/
Also on:    postgresql.org/message-id/4918368C.1010003@sun.com

 · 

reply

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