Re: Add important info about ANALYZE after create Functional Index

Поиск
Список
Период
Сортировка
От Fabrízio de Royes Mello
Тема Re: Add important info about ANALYZE after create Functional Index
Дата
Msg-id CAFcNs+o+iSTd+wZ2N-Js7yOxVKG+R-+i+_o5QFu5-v-5uiRnAw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Add important info about ANALYZE after create Functional Index  (Michael Paquier <michael@paquier.xyz>)
Список pgsql-hackers

On Wed, Oct 28, 2020 at 2:15 AM Michael Paquier <michael@paquier.xyz> wrote:
>
> On Tue, Oct 27, 2020 at 11:06:22AM -0300, Fabrízio de Royes Mello wrote:
> > When we create a new table or index they will not have statistics until an
> > ANALYZE happens. This is the default behaviour and I think is not a big
> > problem here, but we need to add some note on docs about the need of
> > statistics for indexes on expressions.
> >
> > But IMHO there is a misbehaviour with the implementation of CONCURRENTLY on
> > REINDEX because running it will lose the statistics. Have a look the
> > example below:
> >
> > [...]
> >
> > So IMHO here is the place we should rework a bit to execute ANALYZE as a
> > last step.
>
> I agree that this is not user-friendly, and I suspect that we will
> need to do something within index_concurrently_swap() to fill in the
> stats of the new index from the data of the old one (not looked at
> that in details yet).
>

We already do a similar thing for PgStats [1] so maybe we should also copy pg_statistics from old to new index during the swap.

But I'm not sure if it's totally safe anyway and would be better to create a new phase to issue ANALYZE if necessary (exists statistics for old index).

Regards,

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tomas Vondra
Дата:
Сообщение: Re: parallel distinct union and aggregate support patch
Следующее
От: Fujii Masao
Дата:
Сообщение: Re: Allow some recovery parameters to be changed with reload