Re: [PATCH] Space reservation v02 - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: [PATCH] Space reservation v02
Date
Msg-id 4983335A.2030603@enterprisedb.com
Whole thread Raw
In response to Re: [PATCH] Space reservation v02  (Bruce Momjian <bruce@momjian.us>)
Responses Re: [PATCH] Space reservation v02  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
Bruce Momjian wrote:
> Heikki Linnakangas wrote:
>>> For example CREATE/ALTER TABLE can cause problems.
>> Yeah, if the pre-upgrade script determines the amount of reserved space 
>> for each table, and sets it in pg_class or reloptions or whatever, it's 
>> not clear how mwhat to do with tables created after the script is run. I 
>> guess we need quick scan of pg_class before the actual upgrade to check 
>> that you don't have newly-created tables, and refuse the upgrade if 
>> there is.
> 
> This is where a pg_class column would be useful.  You default the column
> value to -1.  The pre-upgrade script sets the proper reserved space, and
> new tables get a -1 and you check for those just before the upgrade. 

You can do that with a flat file too. If there's any tables in the 
database that were not present when pre-upgrade script was started, 
throw an error.

It might be a bit simpler with a pg_class column, but if we don't know 
what exactly we need to store there, and might need to resort to 
different storage anyway, it doesn't seem worth it.

An extra table as Zdenek suggested in the passing might give the best of 
both worlds. The pre-upgrade script can create it when it's run, so we 
don't need to decide beforehand what columns we need, and it's a table 
so you can query it etc.

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [PATCH] Space reservation v02
Next
From: Bruce Momjian
Date:
Subject: Re: [PATCH] Space reservation v02