Meu primeiro palpite é que você está lidando com dois tabelas diferentes chamado
bg
. Um no esquema tiger
, e outro em um esquema não revelado que vem antes de tiger
em seu search_path
- ou o tigre não está no search_path
de forma alguma. Encontre todas as tabelas chamadas
bg
(diferencia maiúsculas de minúsculas) em todos os esquemas no banco de dados atual:SELECT * FROM pg_tables WHERE tablename = 'bg';
Para entender o
search_path
contexto:Para entender a estrutura de um cluster de banco de dados Postgres:
Se não for isso, seu índice pode estar corrompido. Eu tentaria primeiro um
REINDEX
:REINDEX bg_pkey;
Herança!
Eu vejo na sua definição de tabela adicionada:
Suspeitando que a linha com
bg_id ='470370111002'
na verdade, reside na tabela filha tiger_data.tn_bg
. Mas sua restrição FK faz referência à tabela pai . As restrições FK não são herdadas.O que você obtém se consultar:
SELECT * FROM ONLY bg WHERE bg_id ='470370111002'
Se minha hipótese for válida, você não terá nenhuma linha . Leia o capítulo Advertências na página Herança do manual .
Relacionado: