Не можеш.
Инструментът за планиране на заявки на PostgreSQL няма флаг за „изключване на оптимизацията“.
Би било интересно да се добави, но би направило регресионните тестове много по-сложни и би имало много ограничена полезност.
За да направите това, което искате, мисля, че бихте искали да модифицирате кода за планиране на заявки, да прекомпилирате и преинсталирате PostgreSQL за всеки тест. Или го хакнете, за да добавите куп персонализирани GUC (системни променливи, като enable_seqscan
), за да можете да включвате и изключвате определени оптимизации.
Съмнявам се, че подобна корекция ще бъде приета в PostgreSQL, но си струва да се направи за хвърляне.
Единственото предизвикателство е, че PostgreSQL не прави голяма разлика между „оптимизация“ и „нещо, което правим, за да изпълним заявката“. Понякога части от кода за планиране очакват и изискване че е приложена определена оптимизация, за да работи правилно.