powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ATTACH DETACH PARTITION
1 сообщений из 1, страница 1 из 1
ATTACH DETACH PARTITION
    #40138225
talifa-kumi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
коллеги, хелп. postgresql 11

есть большая партицированная таблица. добавили партицию, создали индекс ONLY на родительскую таблицу. далее создали индекс на партицию и прицепили родительскому индексу.
Код
1.
2.
CREATE  INDEX CONCURRENTLY i_audit_messages_sectioned_y2021m07_on_operation_code_id  ON audit_messages_sectioned_y2021m07(operation_code_id);
ALTER INDEX i_audit_messages_sectioned_on_operation_code_id ATTACH PARTITION i_audit_messages_sectioned_y2021m07_on_operation_code_id;
вроде все нормально пока и логично. создали партиций на 50 лет. потом одумались и удалили часть, тормозят запросы.

--- удаляли так, тут без проблем удалилось:
Код
1.
2.
3.
ALTER TABLE  audit_messages_sectioned DETACH PARTITION  audit_messages_sectioned_y2021m07;
DROP INDEX IF EXISTS i_audit_messages_sectioned_y2021m07_on_operation_code_id;
DROP TABLE audit_messages_sectioned_y2021m07;
---- затем партиция понадобилась снова. создаем так. все нормально создается
Код
1.
2.
CREATE TABLE IF NOT EXISTS audit_messages_sectioned_y2021m07 PARTITION OF audit_messages_sectioned FOR VALUES FROM ('2021-07-01 00:00:00') TO ('2021-08-01 00:00:00');
CREATE  INDEX CONCURRENTLY i_audit_messages_sectioned_y2021m07_on_operation_code_id  ON audit_messages_sectioned_y2021m07(operation_code_id);
--- пытаемся приаттачить индекс
Код
1.
2.
3.
ALTER INDEX i_audit_messages_sectioned_on_operation_code_id ATTACH PARTITION i_audit_messages_sectioned_y2021m07_on_operation_code_id;
ERROR:  cannot attach index "i_audit_messages_sectioned_y2021m07_on_operation_code_id" as a partition of index "i_audit_messages_sectioned_on_operation_code_id"
DETAIL:  Another index is already attached for partition "audit_messages_sectioned_y2021m07"
--- то есть он есть, его удаляли, пересоздавали, но он волшебно есть в родительской таблице
--- ну ок, есть и хорошо. смотрим как работает, а работает как-будто его нет
Код
1.
2.
3.
4.
5.
6.
7.
EXPLAIN select operation_code_id from audit_messages_sectioned_y2021m07 order by operation_code_id;
                                         QUERY PLAN
--------------------------------------------------------------------------------------------
 Sort  (cost=715.46..729.36 rows=5560 width=4)
   Sort Key: operation_code_id
   ->  Seq Scan on audit_messages_sectioned_y2021m07  (cost=0.00..369.60 rows=5560 width=4)
(3 rows)
--- а его дружок, с которым это не выделывали работает нормально
Код
1.
2.
3.
4.
5.
EXPLAIN select operation_code_id from audit_messages_sectioned_y2021m08 order by operation_code_id;
                                                                             QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Index Only Scan using i_audit_messages_sectioned_y2021m08_on_operation_code_id on audit_messages_sectioned_y2021m08  (cost=0.56..1048590.12 rows=40380104 width=4)
(1 row)
отбросим в негодовании вопрос "Кто виноват?" (прошлые админы), а обратимся к вопросу "Что делать?"
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ATTACH DETACH PARTITION
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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