Ma première supposition serait que vous avez affaire à deux différents tableaux nommé bg
. Un dans le schéma tiger
, et un autre dans un schéma non divulgué qui précède tiger
dans votre search_path
- ou le tigre n'est pas dans le search_path
du tout.
Trouver toutes les tables nommées bg
(sensible à la casse) dans tous les schémas de la base de données actuelle :
SELECT * FROM pg_tables WHERE tablename = 'bg';
Pour comprendre le search_path
réglage :
Pour comprendre la structure d'un cluster de bases de données Postgres :
Si ce n'est pas le cas, votre index est peut-être corrompu. Je voudrais d'abord essayer un REINDEX
:
REINDEX bg_pkey;
Héritage !
Je vois dans votre définition de table ajoutée :
Suspectant que la ligne avec bg_id ='470370111002'
vit réellement dans la table enfant tiger_data.tn_bg
. Mais votre contrainte FK fait référence à la table parent . Les contraintes FK ne sont pas héritées.
Qu'obtenez-vous si vous interrogez :
SELECT * FROM ONLY bg WHERE bg_id ='470370111002'
Si mon hypothèse est vraie, vous n'obtenez pas de ligne . Lisez le chapitre Mises en garde sur la page Héritage du manuel .
Connexe :