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

¿Claves foráneas + herencia de tabla en PostgreSQL?

Está cubierto en el manual del usuario .

La versión corta:puede usar claves foráneas o herencia de tablas, pero no ambas. Esto no es intrínsecamente imposible, es solo que técnicamente es bastante difícil implementar índices únicos que abarquen tablas heredadas en PostgreSQL de una manera rápida y confiable. Sin eso, no puede tener una clave externa útil. Nadie lo ha implementado lo suficientemente bien como para que un parche que agregue soporte sea aceptado en PostgreSQL todavía.

Una clave externa puede apuntar a una tabla que forma parte de una jerarquía de herencia, pero solo encontrará filas en esa tabla exactamente . No en ninguna tabla principal o secundaria. Para ver qué filas ve la clave externa, haz SELECT * FROM ONLY thetable . El ONLY palabra clave significa "ignorar herencia" y eso es lo que hará la búsqueda de clave externa.