2009-09-22 14 views

答えて

30

「from SQLクエリ」とはどういう意味ですか?それはSELECT ingからpg_inheritsはあなたのために十分ではないという意味ですか?あなたはまた、スキーマ名が必要な場合

SELECT pg_inherits.*, c.relname AS child, p.relname AS parent 
FROM 
    pg_inherits JOIN pg_class AS c ON (inhrelid=c.oid) 
    JOIN pg_class as p ON (inhparent=p.oid); 
+0

私が書いたとき "対話的に実行されなければならない\ dのようなものではなく、コマンドラインでPSQLに渡すことができるものを意味していました。だから、pg_inheritsから選択するのは良いスタートです。テーブルのテーブル名とそのoidをどこで見つけることができますか? – Watusimoto

+0

ダスは完璧です!ヴィーレンダンク! – Watusimoto

+2

Watusimoto - \ dもコマンドラインでpsqlに渡すことができます:) –

2

:あなたはすべての子供の親パーティションからを検索したい場合は

SELECT cn.nspname AS schema_child, c.relname AS child, pn.nspname AS schema_parent, p.relname AS parent 
FROM pg_inherits 
JOIN pg_class AS c ON (inhrelid=c.oid) 
JOIN pg_class as p ON (inhparent=p.oid) 
JOIN pg_namespace pn ON pn.oid = p.relnamespace 
JOIN pg_namespace cn ON cn.oid = c.relnamespace 
WHERE p.relname = 'your table name' and pn.nspname = 'your schema name' 
1

を、あなたは、単にそれが好きで実行することができます。

SELECT relname 
FROM pg_class,pg_inherits 
WHERE pg_class.oid=pg_inherits.inhrelid 
AND inhparent 
IN (SELECT oid FROM pg_class WHERE relname='your_master_partition') 
ORDER BY relname; 
関連する問題