【PostgreSQL】システムカタログとinfomation schema
システムカタログ(PostgreSQL独自のもの)
データベース内のオブジェクトに関する情報を管理しているものには、システムカタログと情報スキーマがあります。システムカタログとは内部的な情報を格納するテーブルやビューです。
また、システムカタログはPostgreSQL独自のものですが、情報スキーマは標準SQLの機能になり、PostgreSQL以外でも、(対応しているRDBMSの場合)同じSQLで情報を取得できます。
-- テーブル情報の取得
select * from pg_class;
-- ロール情報の取得
select * from pg_roles;
-- 関数情報の取得
select * from pg_proc;
-- ロール情報の取得
select * from pg_role;
-- パラメータ情報の取得
select * from pg_settings;
-- 実行中SQLの取得
select * from pg_stat_activity;
-- テーブルへのアクセス情報の取得
select * from pg_stat_all_tables;
情報スキーマ(information_schema)
情報スキーマは標準SQLの機能です。
PostgreSQL以外でも、(対応しているRDBMSの場合)同じSQLで情報を取得できます。
-- スキーマ一覧
select * from information_schema.schemata;
-- テーブル一覧
select * from information_schema.tables;
-- ビュー一覧
select * from information_schema.views;
-- トリガー一覧
select * from information_schema.triggers;