Mi primera suposición sería que estás tratando con dos mesas diferentes llamado bg
. Uno en el esquema tiger
, y otro en un esquema no revelado que viene antes de tiger
en tu search_path
- o el tigre no está en search_path
en absoluto.
Encuentra todas las tablas llamadas bg
(distingue entre mayúsculas y minúsculas) en todos los esquemas en la base de datos actual:
SELECT * FROM pg_tables WHERE tablename = 'bg';
Para comprender la search_path
ajuste:
Para comprender la estructura de un clúster de base de datos de Postgres:
Si no es así, su índice puede estar dañado. Primero probaría un REINDEX
:
REINDEX bg_pkey;
¡Herencia!
Veo en su definición de tabla agregada:
Sospechando que la fila con bg_id ='470370111002'
en realidad vive en la mesa del niño tiger_data.tn_bg
. Pero su restricción FK hace referencia a la tabla principal . Las restricciones FK no se heredan.
¿Qué obtiene si consulta:
SELECT * FROM ONLY bg WHERE bg_id ='470370111002'
Si mi hipótesis se mantiene, obtienes ninguna fila . Lea el capítulo Advertencias en la página Herencia del manual .
Relacionado: