2017-01-23 8 views
1

私たちのすべてのエキスパート皆様、PosgreSQL Serverでテーブル関係を表示する方法は?

PostgreSQLサーバでテーブル関係を表示する方法はありますか? 私はPostgreSQLサーバでテーブル関係を見つけるために数回以上2年以上前に試みましたが、何の助けも得られませんでした。それは私にとっては全く難しいことです。 今私はそれを見つけることをあきらめます。 SQL ServerやAccessで同じテーブル関係を見つける方法はありますか? PostgreSQLサーバでテーブル関係を見ることは可能ですか?

親切にお手伝いいただきありがとうございます。

ありがとう、

SmallCorner

+0

が不適切なタグ – scaisEdge

+0

@scaisEdgeを削除し、どのようにそれを削除する

それは、この他の質問で解決されますか?私を実行して、もう少し詳しく教えてもらえますか?助けてください...サー。 大変ありがとうございます。 – SmallCorner

+0

私は既に行っています。私のコメントはあなたの情報だけでした。 – scaisEdge

答えて

0

DataGripやpgAdminのようなUIを使ってみることもできます。私はPostgresのアプリケーションでDataGripを使用しています。単に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

、息子のテーブル名を置く必要があります:息子を挿入すると、親レコードの存在を確認します。 たとえば、文書と行:documentにrow.doc_idが存在するかどうかをチェックする "row"テーブル、postgresqlを使用する必要があります。そうでない場合は例外がスローされます(doc_id = 3のレコードを挿入しようとしていますが、id = 3はdoc表にあります) –

関連する問題