Re: Creating big indexes

Поиск
Список
Период
Сортировка
От sud
Тема Re: Creating big indexes
Дата
Msg-id CAD=mzVW3jYSYgHVJD0U6vgUnZKongkaszc_Rafv=75usomUUfQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Creating big indexes  (Lok P <loknath.73@gmail.com>)
Список pgsql-general


On Sun, Jun 9, 2024 at 1:40 PM Lok P <loknath.73@gmail.com> wrote:
On Sun, Jun 9, 2024 at 10:39 AM Lok P <loknath.73@gmail.com> wrote:


On Sun, Jun 9, 2024 at 10:36 AM sud <suds1434@gmail.com> wrote:

 You can first create the index on the table using the "On ONLY"keyword, something as below.

CREATE INDEX idx ON ONLY tab(col1);

Then create indexes on each partition in "concurrently" from multiple sessions in chunks.

CREATE INDEX CONCURRENTLY idx_1    ON tab_part1(col1);
CREATE INDEX CONCURRENTLY idx_2    ON tab_part2(col1);

After this step finishes the table level index which was created in the first step will be in valid state automatically.


Thank you so much.
Should we also tweak the parameters related to the parallelism and memory as I mentioned in the first post? 

Additionally ,is it also possible to drop the indexes also from the big partition table efficiently? To avoid the "transaction id wrap around" or "table bloat" when the index drop runs for longer duration?
 

I have never tried , but I think you can do "drop index concurrently" from multiple sessions at same time for each of the partitions to make the drop index finish quicker, similar to the "create index" statement as mentioned above. Others may comment.

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

Предыдущее
От: "David G. Johnston"
Дата:
Сообщение: Re: Unexpected Backend PID reported by Notification
Следующее
От: veem v
Дата:
Сообщение: Re: Does trigger only accept functions?