Обсуждение: Upgrading (was: now 6.4)

Поиск
Список
Период
Сортировка

Upgrading (was: now 6.4)

От
Brandon Ibach
Дата:
I hate to open a potential can of worms here, but here's another
possibility.  I recall someone telling me about a database (InterBase,
I believe it was) that could have rows with different structures all
in the same table.  In other words, they could add a field to the
table, and any new rows would have it, while the old ones would not,
and the database would deal with it on the fly.
   Could we implement some type of "version" field in the table
structure which would allow this type of thing?  If this is
reasonable, we could have it in 6.4 and potentially never have to
worry too much about reloading tables after that.  With version info
in each tuple, we could convert the table "as we go" or in some other
gradual way.
   Of course, the question of how much work it would take to have the
backend support this needs to be considered, as well as the issue of
how this would impact performance.

-Brandon :)

Re: [HACKERS] Upgrading (was: now 6.4)

От
Bruce Momjian
Дата:
>
>    I hate to open a potential can of worms here, but here's another
> possibility.  I recall someone telling me about a database (InterBase,
> I believe it was) that could have rows with different structures all
> in the same table.  In other words, they could add a field to the
> table, and any new rows would have it, while the old ones would not,
> and the database would deal with it on the fly.
>    Could we implement some type of "version" field in the table
> structure which would allow this type of thing?  If this is
> reasonable, we could have it in 6.4 and potentially never have to
> worry too much about reloading tables after that.  With version info
> in each tuple, we could convert the table "as we go" or in some other
> gradual way.
>    Of course, the question of how much work it would take to have the
> backend support this needs to be considered, as well as the issue of
> how this would impact performance.

Actually, we already have that.  When you add a column to a table, it
does not re-structure the old rows.  However, system tables do not
always add columns.  Sometimes we change them.  Also there is lots
more/different rows for tables, and keeping that straight would be
terrible.

If we can keep the original data files and require initdb and a
re-index, that would be good.

--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)