El "particionamiento de tablas declarativas", es decir, el particionamiento como característica de primera clase del DBMS con su propia sintaxis, era agregado en PostgreSQL 10 .
En versiones anteriores, puede lograr el mismo efecto con un poco más de esfuerzo utilizando la "herencia de tablas". Hay una página en el manual que describe cómo hacer esto manualmente , resumido como:
- Cree la tabla "maestra", de la cual heredarán todas las particiones.
- Cree varias tablas "secundarias" que hereden de la tabla maestra.
- Agregue restricciones de tabla a las tablas de partición para definir los valores clave permitidos en cada partición.
- Para cada partición, cree un índice en la(s) columna(s) clave, así como cualquier otro índice que desee.
- Opcionalmente, defina un activador o una regla para redirigir los datos insertados en la tabla maestra a la partición adecuada.
- Asegúrese de que el parámetro de configuración constrict_exclusion no esté deshabilitado en postgresql.conf. Si es así, las consultas no se optimizarán como se desea.
Para hacerlo más fácil, si no puede actualizar a la versión 10, puede usar una extensión como pg_partman que le brinda funciones adicionales para configurar y administrar conjuntos de particiones.