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: