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: