Если ваша таблица секционирована, есть еще одна возможная причина того, что ваш индекс не используется: ваша таблица имеет индекс, а некоторые или все ваши разделы - нет.Вы можете проверить это, глядя на системный вид pg_indexes
.Есть ли записи для разделов?
Основная причина этой проблемы, вероятно, заключается в том, что alter table TABLE add partition...
не автоматически создает индексы, которые вы определили для TABLE.Существует два решения:
create index INDEXNAME on PARTITIONTABLENAME(ROWLIST..)
после добавления раздела.Поиск в системном представлении pg_partitions
и получить PARTITIONTABLENAME
!Это не то же самое, что PARTITIONNAME
. - Задержка
create index
на вашем столе до точки, где вы добавили все необходимые вам разделы.Это связано с тем, что создание индекса для таблицы автоматически создает индексы для всех существующих разделов.
Кстати, удаление индекса в таблице не приводит к удалению индексов в разделах.
Извините, я не могу дать вам никаких ссылок на Руководство администратора GP, так как я либо слеп, либо неправ, или Руководство администратора полностью игнорирует этот вопрос.