¿Son siempre una buena idea las comprobaciones de restricciones en las particiones en postgres?

Supongamos que tengo una tabla particionada por mes en postgres donde se cumple lo siguiente:

  • Los registros nunca se actualizan.
  • Los nuevos registros solo se agregan con la hora actual, más o menos unos minutos.
  • Un disparador maneja las inserciones para que los registros solo entren en la partición de este mes o en la del mes pasado.

¿Me ayudan aquí las comprobaciones de restricciones en las particiones/tablas secundarias? Dado que el activador maneja el período de fin de mes, parece que serían redundantes y, por lo tanto, inútiles, pero siento que me estoy perdiendo algo.

preguntado el 04 de julio de 12 a las 04:07

1 Respuestas

Las restricciones son necesarias para el planificador de consultas, usa la restricción para saber dónde encontrar datos específicos. Ver el documentación.

Respondido 04 Jul 12, 05:07

Gracias, fue porque estaba leyendo esa página que pregunté esto, en realidad. No entiendo mucho acerca de cómo funciona el planificador de consultas: ¿es que el activador es un cuadro negro para el planificador pero las restricciones no lo son? - polm23

El disparador no está haciendo nada en un SELECCIONAR, pero el planificador de consultas sí. Y sí, el planificador de consultas conoce las restricciones y se utilizan en el plan de consultas. Vea los resultados de EXPLAIN con o sin una restricción y con o sin una condición WHERE que coincida con esta restricción. - franco heikens

Ah, no estaba pensando en SELECT, eso tiene sentido. ¡Gracias! - polm23

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.