【PostgreSQL】システムカタログとinfomation schema

2021年8月8日PostgreSQLその他

システムカタログ(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;