powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Поделитесь скриптом по перестройки всех индексов в БД
17 сообщений из 17, страница 1 из 1
Поделитесь скриптом по перестройки всех индексов в БД
    #39724441
К.К2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в конкурентном режиме.



Добрый день.
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39724482
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К.К2,

А скриптом все не получится :( Индексы под первичными/уникальными ключами на которые смотрят внешние ключи не перестроить конкурентно.
Посмотрите на pg_repack / pgcompacttable.
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39724485
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorovПосмотрите на pg_repack / pgcompacttable.
Что-то я уже глянул, только индексы, но по всей базе не умеют перестраивать ни тот ни другой =) У repack --only-indexes требует указать таблицу, у pgcompacttable есть no-reindex, но нет only reindex режима.
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39724508
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К.К2в конкурентном режиме.



Добрый день.
основная хитрость, как щас помню, -- скрипт не должен запускаться из конкурентно индексируемой бд.
иначе конкурентли не закоммитится покеда скриптовая транза не финиширует.

я читал (plpgsql) индексы по дблинку в массив и оттуда дблинком из служебной бд дергал в лупе конкуррентли-автономии в рабочей.
с разгребанием уникъю и пк--индексов не заморачивался.
понятно, что то же можно дергать не из бд. а любым скриптовым. удобство служебнойй бд -- там же можно журналы вести.
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39724578
К.К2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwwq...конкуррентли-автономии в рабочей.
с разгребанием уникъю и пк--индексов не заморачивался.



А можете подробнее написать что вы делали?

Вы создавали новые индексы конкурентно, а потом дропали старые?
уникальные и PK вы просто пропускали?


Пытаюсь разобраться с этой темой...
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39724579
К.К2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MelkijvyegorovПосмотрите на pg_repack / pgcompacttable.
Что-то я уже глянул, только индексы, но по всей базе не умеют перестраивать ни тот ни другой =) У repack --only-indexes требует указать таблицу, у pgcompacttable есть no-reindex, но нет only reindex режима.

Так и есть, все верно.
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39724614
К.К2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwwq,

правильно ли я понял что для PK вы просто делали REINDEX INDEX, для остальных новый и дроп старого?
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39724617
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К.К2,

Когда-то таким скриптом перестраивал, на 9.6+ не проверял его.
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39724631
К.К2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vyegorovК.К2,

Когда-то таким скриптом перестраивал, на 9.6+ не проверял его.


Благодарю, похоже на то что нужно!

... попытаюсь переписать под windows его...
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39724633
К.К2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, есть ли значение в каком порядке перестраивать индексы?

1) PK - остальные
2) остальные - PK


Результат будет одинаковый или разный?

В некотрых других СУБД это различие очень существенное...
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39724660
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К.К2Кстати, есть ли значение в каком порядке перестраивать индексы?

1) PK - остальные
2) остальные - PK


Результат будет одинаковый или разный?

В некотрых других СУБД это различие очень существенное...

Без разницы это не innodb :) Индексы тут всегда именно на таблицу ссылаются а не на значение primary key.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39724662
К.К2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim BogukК.К2Кстати, есть ли значение в каком порядке перестраивать индексы?

1) PK - остальные
2) остальные - PK


Результат будет одинаковый или разный?

В некотрых других СУБД это различие очень существенное...

Без разницы это не innodb :) Индексы тут всегда именно на таблицу ссылаются а не на значение primary key.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


я просто замечал что если есть разрушение PK - приходится все индексы перестраивать...

а если любой другой то только его и все...

Точно там на PK никакой привязки нет?
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39724663
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К.К2Maxim Bogukпропущено...


Без разницы это не innodb :) Индексы тут всегда именно на таблицу ссылаются а не на значение primary key.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


я просто замечал что если есть разрушение PK - приходится все индексы перестраивать...

а если любой другой то только его и все...

Точно там на PK никакой привязки нет?

Нету. Вообще разрушение индексов это крайне редкая штука в 99% случаев связанная с аппаратными проблемами сервера.
Ну и иногда для текстовых полей с шутками libc вида https://postgresql.verite.pro/blog/2018/08/27/glibc-upgrade.html (но это только текстовых полей касается).

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39731763
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К.К2qwwq,
правильно ли я понял что для PK вы просто делали REINDEX INDEX, для остальных новый и дроп старого?
А почему не REINDEX DATABASE ?
Перестраивает все индексы в текущей базе данных . При этом обрабатываются также индексы в общих системных каталогах. Эту форму REINDEX нельзя выполнить в блоке транзакции.
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39731790
Alexius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DSKalugin,

потому что reindex будет блокировать таблицы во время работы.
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39731881
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexiusDSKalugin,

потому что reindex будет блокировать таблицы во время работы.
Можно сделать это в нерабочее время
...
Рейтинг: 0 / 0
Поделитесь скриптом по перестройки всех индексов в БД
    #39732253
К.К2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DSKaluginAlexiusDSKalugin,

потому что reindex будет блокировать таблицы во время работы.
Можно сделать это в нерабочее время

Да, вы, уважаемый - юморист...
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Поделитесь скриптом по перестройки всех индексов в БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]