Mijn eerste gok zou zijn dat je te maken hebt met twee verschillende tafels genaamd bg
. Een in het schema tiger
, en nog een in een niet bekendgemaakt schema dat voor tiger
komt in uw search_path
- of tijger staat niet in het search_path
helemaal niet.
Zoek alle tabellen met de naam bg
(hoofdlettergevoelig) in alle schema's in de huidige database:
SELECT * FROM pg_tables WHERE tablename = 'bg';
Om het search_path
te begrijpen instelling:
Om de structuur van een Postgres DB-cluster te begrijpen:
Als dat niet het geval is, is uw index mogelijk beschadigd. Ik zou eerst een REINDEX
proberen
:
REINDEX bg_pkey;
Overerving!
Ik zie in uw toegevoegde tabeldefinitie:
Vermoeden dat de rij met bg_id ='470370111002'
woont eigenlijk in de kindertafel tiger_data.tn_bg
. Maar uw FK-beperking verwijst naar de bovenliggende tabel . FK-beperkingen worden niet overgenomen.
Wat krijg je als je een vraag stelt:
SELECT * FROM ONLY bg WHERE bg_id ='470370111002'
Als mijn hypothese klopt, krijg je geen rij . Lees het hoofdstuk Voorbehouden op de Overervingspagina van de handleiding .
Gerelateerd: