La mia prima ipotesi sarebbe che tu abbia a che fare con due tabelle diverse chiamato bg . Uno nello schema tiger e un altro in uno schema non divulgato che precede tiger nel tuo search_path - o la tigre non è nel search_path affatto.
Trova tutte le tabelle denominate bg (con distinzione tra maiuscole e minuscole) in tutti gli schemi nel db corrente:
SELECT * FROM pg_tables WHERE tablename = 'bg';
Per comprendere il search_path impostazione:
Per comprendere la struttura di un cluster di database Postgres:
In caso contrario, il tuo indice potrebbe essere danneggiato. Per prima cosa proverei un REINDEX
:
REINDEX bg_pkey;
Eredità!
Vedo nella definizione della tabella aggiunta:
Sospettando che la riga con bg_id ='470370111002' vive effettivamente nella tabella figlio tiger_data.tn_bg . Ma il tuo vincolo FK fa riferimento alla tabella padre . I vincoli FK non vengono ereditati.
Cosa ottieni se esegui query:
SELECT * FROM ONLY bg WHERE bg_id ='470370111002' Se la mia ipotesi è valida, ottieni nessuna riga . Leggi il capitolo Avvertenze nella pagina Ereditarietà del manuale .
Correlati: