• ベストアンサー

PostgreSqlのテーブル一覧が欲しい

PostgreSqlのテーブル一覧が欲しい pg_class(のrelkind = 'r'の条件)にテーブルの情報が入っています。 これを自作テーブルとシステムが生成したテーブルに別けたいのですが、どの区分を見ればわかりますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • annyG
  • ベストアンサー率25% (10/39)
回答No.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 ですかね。

ngwave
質問者

お礼

ありがとうございます。

その他の回答 (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を実行すると分かります。

ngwave
質問者

お礼

ありがとうございます。 それをすると、システムテーブルやらビューやら関係ないものだらけになります。 欲しいのは「自分でクリエイトしたテーブル」の一覧です。 information_schema.tablesは知っています。 そのビューの中で呼だしているのがpg_classです。 pg_class.relkind = 'r'の条件でテーブルだけに絞れるところまでは分かったのですが、 システムテーブルか 自作テーブルか これを判定する方法が分かりません。

関連するQ&A