【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;