Обсуждение: pg_upgarde: The control data check for equal max_index_keys in old and new version

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

pg_upgarde: The control data check for equal max_index_keys in old and new version

От
neha khatri
Дата:
I have recently started working on Postgresql and I was looking in the the pg_upgrade code. pg_upgrade checks index control data(max_index_keys) to be equal in the old and new version.

I would like to understand why the number of index columns should be equal in new and old versions. Can the number of maximum index columns not be changed from one release to another release.

Neha

Re: pg_upgarde: The control data check for equal max_index_keys in old and new version

От
Tom Lane
Дата:
neha khatri <nehakhatri5@gmail.com> writes:
> I have recently started working on Postgresql and I was looking in the the
> pg_upgrade code. pg_upgrade checks index control data(max_index_keys) to be
> equal in the old and new version.

> I would like to understand why the number of index columns should be equal
> in new and old versions.

Because that changes the size of index tuple headers, see
src/include/access/itup.h

> Can the number of maximum index columns not be
> changed from one release to another release.

Sure, as long as you don't care about on-disk database compatibility.
The checks associated with pg_control are meant to ensure exactly
that, though.

            regards, tom lane


Re: pg_upgarde: The control data check for equal max_index_keys in old and new version

От
neha khatri
Дата:
Thanks, I understand now. 
I should read the code comments properly too :).

Regards,
Neha

Cheers,
Neha

On Fri, Apr 22, 2016 at 1:45 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
neha khatri <nehakhatri5@gmail.com> writes:
> I have recently started working on Postgresql and I was looking in the the
> pg_upgrade code. pg_upgrade checks index control data(max_index_keys) to be
> equal in the old and new version.

> I would like to understand why the number of index columns should be equal
> in new and old versions.

Because that changes the size of index tuple headers, see
src/include/access/itup.h

> Can the number of maximum index columns not be
> changed from one release to another release.

Sure, as long as you don't care about on-disk database compatibility.
The checks associated with pg_control are meant to ensure exactly
that, though.

                        regards, tom lane