PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como desabilitar todas as otimizações do PostgreSQL


Você não pode.

O planejador de consultas do PostgreSQL não tem sinalizador "desligar otimização".

Seria interessante adicionar, mas tornaria os testes de regressão muito mais complexos e de utilidade muito limitada.

Para fazer o que você quer, acho que você gostaria de modificar o código do planejador de consultas, recompilar e reinstalar o PostgreSQL para cada teste. Ou corte-o para adicionar um monte de GUCs personalizados (variáveis ​​de sistema, como enable_seqscan ) para permitir que você ative e desative otimizações específicas.

Duvido que qualquer patch desse tipo seja aceito no PostgreSQL, mas valeria a pena fazer descartável.

O único desafio é que o PostgreSQL não diferencia fortemente entre "otimização" e "coisa que fazemos para executar a consulta". Às vezes, partes do código do planejador esperam e exigir que uma otimização específica foi aplicada para funcionar corretamente.