【PostgreSQL】データベース情報を取得する(ビュー、トリガー、インデックス)

PostgreSQL構文

データベース一覧の取得(SQL)

データベース一覧を取得するSQLを紹介します。

select 
    datname, 
    pg_encoding_to_char(encoding)  -- DBのエンコーディング
from pg_database;

テーブル情報を取得するにはここを参照してください。

 

 

データベース一覧の取得(コマンド)

データベース一覧を取得するには、次のコマンドを実行します。

※psqlでログイン後に「-l」または「--list」のみを実行すれば一覧が表示されます。

-l
--list

 

 

ビュー一覧の取得

データベースのビューを取得するSQLです。

select * From pg_views
where schemaname = 'public';

 

 

シーケンス一覧の取得

データベースのシーケンスを取得するSQLです。

SELECT relname FROM pg_class 
JOIN pg_namespace ON (pg_class.relnamespace = pg_namespace.oid) 
WHERE relkind = 'S';

 

シーケンスを初期化するには次の文を使います。

select SETVAL('seq_name', 1 , false); -- シーケンス「seq_name」を1に設定

 

 

トリガー一覧の取得

データベースのトリガーを取得するSQLです。

-- トリガー一覧の取得
SELECT * FROM information_schema.triggers;

 

 

インデックス情報の取得

データベースのインデックスを取得するSQLです。

-- 実行後に表示されるidx_scan列は、インデックススキャンを使用した回数です
select * From pg_stat_user_indexes;