Как подружить анализатор PostgreSQL со своим составным типом?
Описан составной тип, для него же есть компараторы и операторы, описаны классы для btree и hash. Суть реализации не так важна, важен тот факт, что при запросе по таблице с 250к записей, предсказанное количество строк 0-170000, реальная оценка должна быть 0-70, а выбирается тестовым запросов вообще одна строка, что не проблема пока джоинов нет (скорость выборки, 0.1мс) но во всех остальных случаях порождает совершенно чудовищные планы запросов. Причем аналитика верная, гистограмма правильная (пересчет вручную дает те же результаты), MCV вроде в норме. Единственная на что упало подозрение, что у этого типа нет собственной функции аналитики, но ее можно написать только на C изза ограничений БД, пока до этой стадии не дошел.
Конечно я могу развернуть тип, но потребуется 3 столбца под данные + генерируемые текстовый столбец + более сложные запросы а хотелось сделать элегантно.
Вопрос задаю из надежды если вдруг кто с опытом в таких вещах или с глубоким пониманием PostgreSQL Будет мимо проходить 8)