17.2. ユーザ属性

データベースユーザには、権限やクライアント認証システムに関する定義を表すたくさんの属性があります。

スーパーユーザ

データベースのスーパーユーザはすべての権限検査を迂回します。 また、スーパーユーザのみが新しいユーザを作ることができます。 データベースのスーパーユーザを作るには、CREATE USER name CREATEUSER を使います。

データベース作成

データベースを作成するためにはユーザは明示的に権限を指定しておかねばいけません (スーパーユーザはすべての権限検査を迂回するので除かれます)。 そのようなユーザを作るためには CREATE USER name CREATEDB を使います。

パスワード

パスワードは、クライアント認証方法においてデータベースに接続する際にユーザにパスワードを要求する場合にのみ重要になります。 passwordmd5、および crypt 認証方式でパスワードが使用されます。 データベースパスワードはオペレーティングシステムのパスワードとは異なります。 ユーザ作成時に CREATE USER name PASSWORD 'string' のようにパスワードを指定します。

ユーザ属性は作成した後に ALTER USER コマンドで変更することができます。 詳細はCREATE USERALTER USERのリファレンスページを参照してください。

ユーザは、項16.4 で説明されている実行時の設定の多くにおいて、ユーザごとのデフォルトを設定することもできます。 たとえば何らかの理由で、自分が接続する時は常にインデックススキャンを無効にしたい場合 (注:お勧めしません)、次のようにします。

ALTER USER myname SET enable_indexscan TO off;

これにより設定が保存され (ただし、すぐに反映はされません)、これ以降の接続においてはセッションの開始の直前に SET enable_indexscan TO off; が呼び出されたのと同様になります。 これはデフォルトでしかありませんので、この設定はセッションの途中でも変更することができます。 このような設定を解除するには、ALTER USER username RESET varname; を使用します。