- ベストアンサー
PostgreSqlのテーブル一覧が欲しい
PostgreSqlのテーブル一覧が欲しい pg_class(のrelkind = 'r'の条件)にテーブルの情報が入っています。 これを自作テーブルとシステムが生成したテーブルに別けたいのですが、どの区分を見ればわかりますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
select * from pg_catalog.pg_class,pg_catalog.pg_statio_user_tables where relkind='r' and pg_catalog.pg_statio_user_tables.relid=pg_catalog.pg_class.relfilenode ですかね。
その他の回答 (1)
- nda23
- ベストアンサー率54% (777/1415)
回答No.1
何をしたいのか分かりませんが、テーブル情報は information_schema.tables を参照すれば 分かります。 select tabele_schema,table_name from information_schema.tables order by tabele_schema,table_name このSQLを実行すると分かります。
質問者
お礼
ありがとうございます。 それをすると、システムテーブルやらビューやら関係ないものだらけになります。 欲しいのは「自分でクリエイトしたテーブル」の一覧です。 information_schema.tablesは知っています。 そのビューの中で呼だしているのがpg_classです。 pg_class.relkind = 'r'の条件でテーブルだけに絞れるところまでは分かったのですが、 システムテーブルか 自作テーブルか これを判定する方法が分かりません。
お礼
ありがとうございます。