PostgreSQLでは、ある種の共通に必要で、特権のある機能や情報にアクセスできるよう、いくつかのデフォルトロールを提供しています。 管理者は自分の環境のユーザあるいはロールに対し、これらのロールを付与(GRANT)することで、それらのユーザに、その機能や情報を提供することができます。
デフォルトロールについては表 21.1で説明します。 それぞれのデフォルトロールの個別の権限については、将来、さらなる機能が追加されるに連れて変更されるかもしれません。 管理者は、変更がないかリリースノートを確認するようにしてください。
表21.1 デフォルトロール
ロール | 可能なアクセス |
---|---|
pg_read_all_settings | 通常スーパーユーザのみが読み取れる、全ての設定変数を読み取る |
pg_read_all_stats | 通常スーパーユーザのみが読み取れる、すべてのpg_stat_*ビューを読み取り、各種の統計関連のエクステンションを使用する |
pg_stat_scan_tables | 潜在的に長時間、テーブルのACCESS SHARE ロックを取得する可能性がある監視機能を実行する |
pg_signal_backend | 他のバックエンドにシグナルを送信する(例:問い合わせのキャンセル、プロセスの終了) |
pg_monitor | 各種の監視ビューや機能を読み取り/実行する。
このロールは、pg_read_all_settings 、pg_read_all_stats およびpg_stat_scan_tables のメンバである。 |
pg_monitor
、pg_read_all_settings
、pg_read_all_stats
およびpg_stat_scan_tables
ロールは、データベースサーバを監視するためのロールを、管理者が簡単に設定できるようにする目的があります。
これらのロールは通常スーパーユーザに限定されている各種の有用な構成設定、統計情報およびその他のシステム情報を読むことができる一般的な権限のセットを与えることができます。
これらのロールを許可する場合は、望ましい監視を行うために必要な場合にのみ使用されるように注意する必要があります。
管理者はGRANTコマンドを使って、ユーザにこれらのロールへのアクセスを許可できます。
GRANT pg_signal_backend TO admin_user;