Heikki Linnakangas wrote:
Zdenek Kotala wrote:
Project Goals
3) Do not require an old version of PostgreSQL to be installed.

Why not? Having two versions installed at the same time doesn't seem like a problem to me. You can remove the old version as soon as the upgrade is done.

This should be problem if you want to upgrade operation system together with DB and new operation system does not have this version. This requirement is based on operation system vendor and also on my experience with Oracle upgrade on tru64 cluster when two version of installed Oracle does not works good - ok postgresql is better in this way :-).

4) Allow a fallback to original PostgreSQL version if something would go wrong.
compatibility mode (compat) - a new version is running on the old data files. It is possible to read and write data as in a previous version. Features of a new version might not be available. Fallback to the previous version is possible.

That's madness. Why would you want to do that? The complexity it adds is just mind-boggling.

I don't think that it increase complexity much. You will have conversion function to convert page/data from version x->x+1 and the same way could be use to convert data back. It need more investigation, but I'm not afraid about complexity (meanwhile :-).

You still wouldn't be able to downgrade after you switch from compatibility mode, and it seems likely that any problems, whatever they might be, would not appear until you switch. That means you'll need to be prepared to downgrade using a backup anyway, so the compatibility mode doesn't buy you much.

One kind of problem is user defined type/function and extension. You can test a lot of things on test machines, but some problem could occur on big tables/storage. No many postgresql users have multiterrabyte disk array for testing.

Second kind of problem is operation system upgrade. If you upgrade OS and postgresql together and something fails (not only new version of postgresql, but many other things) then admin want to revert back to the old OS version with old postgres version. In Solaris it is called Live Upgrade feature.

This feature enable possibility to do it easily. However, backup/restore is possible solution - unfortunately not much comfortable. I think it is nice to have requirement and if it will be possible we can do that, if it will bring a lot of complication, we can remove it.

upgrade mode - a conversion of data files is running in the background. PostgreSQL have to be able to work with both the new data file format and the old data file format. Features of a new version might not be available. PostgreSQL have to be able to recover and continue in the upgrade mode in case of a power/system failure. Fallback to the previous version is not possible.

That's feasible, though I don't see why new features wouldn't be available.

For example Oracle 10 implemented some new incremental backup feature. But you can use it only when you have converted database to correct format. I'm not oracle and I'm not able to predict which new feature in postgresql will require all updated pages for example. I don't expect that database upgrading mode will affect a lot of new features but we must have it in the mind.


---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to