powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pg_repack своим способом индексы перестраивает или стандартным?
7 сообщений из 7, страница 1 из 1
pg_repack своим способом индексы перестраивает или стандартным?
    #40043955
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Добрый день.

Скажите, pg_repack как индексы перестраивает?

Для каждого создает конкурентно и оригинал дропает или там какой-то свой метод у него?
...
Рейтинг: 0 / 0
pg_repack своим способом индексы перестраивает или стандартным?
    #40044021
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lr2,

Если говорим про репак таблицы - индексы строит без concurrently на новой таблице, заменяет одновременно и таблицу и все индексы.
Если говорим про --only-indexes - индексы строятся с concurrently, заменяются все одновременно, затем drop index concurrently https://github.com/reorg/pg_repack/blob/master/bin/pg_repack.c#L1911
...
Рейтинг: 0 / 0
pg_repack своим способом индексы перестраивает или стандартным?
    #40044044
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Melkij
lr2,

Если говорим про репак таблицы - индексы строит без concurrently на новой таблице, заменяет одновременно и таблицу и все индексы.
Если говорим про --only-indexes - индексы строятся с concurrently, заменяются все одновременно, затем drop index concurrently https://github.com/reorg/pg_repack/blob/master/bin/pg_repack.c#L1911



Спасибо за информацию.

А для первого способа получается какой доступный объем на диске надо иметь? Как таблица + индексы?
...
Рейтинг: 0 / 0
pg_repack своим способом индексы перестраивает или стандартным?
    #40044058
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lr2
Melkij
lr2,

Если говорим про репак таблицы - индексы строит без concurrently на новой таблице, заменяет одновременно и таблицу и все индексы.
Если говорим про --only-indexes - индексы строятся с concurrently, заменяются все одновременно, затем drop index concurrently https://github.com/reorg/pg_repack/blob/master/bin/pg_repack.c#L1911



Спасибо за информацию.

А для первого способа получается какой доступный объем на диске надо иметь? Как таблица + индексы?


как таблица + индексы + запас на wal и временные файлы на построение индексов + еще одна копия таблицы если у вас logical replication живет на базе...


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
pg_repack своим способом индексы перестраивает или стандартным?
    #40044060
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Maxim Boguk
lr2
пропущено...



Спасибо за информацию.

А для первого способа получается какой доступный объем на диске надо иметь? Как таблица + индексы?


как таблица + индексы + запас на wal и временные файлы на построение индексов + еще одна копия таблицы если у вас logical replication живет на базе...


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



Ого, получается таблица, например 1Tb, индексы 0.3Tb в итоге понадобится:

как таблица (1) + индексы (0.3)+ запас на wal (примерно 0.2) и временные файлы на построение индексов (0.3) + еще одна копия таблицы если у вас logical (не совсем понял, но логической репликации нет)

1.8 Тб получается приблизительно потребуется?
...
Рейтинг: 0 / 0
pg_repack своим способом индексы перестраивает или стандартным?
    #40044084
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lr2


Ого, получается таблица, например 1Tb, индексы 0.3Tb в итоге понадобится:

как таблица (1) + индексы (0.3)+ запас на wal (примерно 0.2) и временные файлы на построение индексов (0.3) + еще одна копия таблицы если у вас logical (не совсем понял, но логической репликации нет)

1.8 Тб получается приблизительно потребуется?


Да как то так...
а если вы используете еще -o, --order-by=COLUMNS - то еще место под ЕЩЕ одну полную копию таблицы в временных файлов для сортировки (но без индексов).


как альтернативу можно попробовать разработку которую я начал много лет назад
pgcompacttable
https://github.com/dataegret/pgcompacttable

которая работает принципиально иным образом и не требует дополнительного места почти
но конечно работает сильно медленнее (впрочем спешить особо смысла в этом деле нет).


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
pg_repack своим способом индексы перестраивает или стандартным?
    #40044086
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lr2,

А вы уверенны что у вас bloat на таблице большой?
что показывает pgstattuple_approx по ней?


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


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