sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo deshabilitar todas las optimizaciones de PostgreSQL

No puedes.

El planificador de consultas de PostgreSQL no tiene el indicador "desactivar optimización".

Sería interesante agregarlo, pero haría que las pruebas de regresión fueran mucho más complejas y tendría una utilidad muy limitada.

Para hacer lo que quiere, creo que le gustaría modificar el código del planificador de consultas, volver a compilar y reinstalar PostgreSQL para cada prueba. O piratearlo para agregar un montón de GUC personalizados (variables del sistema, como enable_seqscan ) para permitirle activar y desactivar optimizaciones particulares.

Dudo que cualquier parche de este tipo sea aceptado en PostgreSQL, pero valdría la pena hacerlo como un desecho.

El único desafío es que PostgreSQL no diferencia fuertemente entre "optimización" y "cosa que hacemos para ejecutar la consulta". A veces, partes del código del planificador esperan y requerir que se ha aplicado una optimización particular para que funcione correctamente.