2017-01-23 6 views
1

Уважаемые Все наши эксперты,Как посмотреть отношение таблицы на сервере PosgreSQL?

Есть ли кто-нибудь знает, как просмотреть отношение таблицы на сервере PostgreSQL? Я пробовал несколько раз и более 2 лет назад, чтобы найти отношение таблицы на сервере PostgreSQL, но не смог получить никакой помощи. Мне это очень сложно. Теперь я отказываюсь его найти. Итак, есть ли способ найти отношение таблицы к SQL Server или Access? Или можно просмотреть отношение таблицы на сервере PostgreSQL?

Очень благодарен за любезную помощь.

Большое спасибо,

SmallCorner.

+0

удален ненадлежащий тег – scaisEdge

+0

@scaisEdge, Как удалить это? Исполните меня, не могли бы вы сказать мне немного глубже? Пожалуйста, помогите ... сэр. Большое спасибо, – SmallCorner

+0

Я уже сделал .. мой комментарий был только для вашей информации – scaisEdge

ответ

0

Вы можете попробовать использовать пользовательский интерфейс, например DataGrip или pgAdmin. Я использую DataGrip для своих приложений Postgres. Вы можете просто попробовать использовать интерактивную оболочку postgres - psql.

удачи

+0

Большое спасибо за ваше предложение. Я попробую, тогда сообщит вам, надеюсь, что он, вероятно, исправит. Спасибо, сэр. – SmallCorner

0

Если вы хотите перечислить все отношения, который начинается из таблицы, вы должны искать внешние ключи. В Postgresql это означает поиск противопоказаний.

Она решается в этом другом вопросе: enter link description here

Из ответа:

SELECT 
tc.constraint_name, tc.table_name, kcu.column_name, 
ccu.table_name AS foreign_table_name, 
ccu.column_name AS foreign_column_name 
FROM 
information_schema.table_constraints AS tc 
JOIN information_schema.key_column_usage AS kcu 
    ON tc.constraint_name = kcu.constraint_name 
JOIN information_schema.constraint_column_usage AS ccu 
    ON ccu.constraint_name = tc.constraint_name 
WHERE constraint_type = 'FOREIGN KEY' AND tc.table_name='mytable'; 
+0

Большое спасибо за вашу информацию, могу я немного спросить? Согласно этой строке "tc.table_name = 'mytable';" , то «mytable» - это главная таблица, в которой нам нужно найти ключ внешнего ключа? Итак, если моя главная таблица - M_CUSTOMER, тогда я должен ее там положить? Большое спасибо, – SmallCorner

+0

Если у вас есть отношения родительских сыновей, вы должны указать имя таблицы сыновей: postgres проверить наличие родительской записи, когда вы вставляете сына. Например, документ и строка: вы должны использовать таблицу «row», postgresql проверить, существует ли файл row.doc_id в документе, иначе возникает исключение (вы пытаетесь вставить запись с doc_id = 3, но без записи с id = 3 находится в таблице doc) –