Първото ми предположение е, че си имате работа с две различни масици с име bg
. Един в схемата tiger
и още един в неразкрита схема, която идва преди tiger
във вашия search_path
- или тигърът не е в search_path
изобщо.
Намерете всички таблици с име bg
(чувствителни към главни и малки букви) във всички схеми в текущата база данни:
SELECT * FROM pg_tables WHERE tablename = 'bg';
За да разберете search_path
настройка:
За да разберете структурата на Postgres DB клъстер:
Ако това не е, вашият индекс може да е повреден. Първо бих опитал REINDEX
:
REINDEX bg_pkey;
Наследство!
Виждам във вашата добавена дефиниция на таблица:
Подозирайки, че редът с bg_id ='470370111002'
всъщност живее в таблицата дъщерни tiger_data.tn_bg
. Но вашето FK ограничение препраща към родителската таблица . FK ограниченията не се наследяват.
Какво получавате, ако направите заявка:
SELECT * FROM ONLY bg WHERE bg_id ='470370111002'
Ако моята хипотеза е валидна, получавате няма ред . Прочетете главата Предупреждениясилен> на страницата Наследяване на ръководството .
Свързани: