他のバージョンの文書10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

CREATE USER

Name

CREATE USER  --  新しいデータベースユーザアカウントの定義

Synopsis

CREATE USER username [ [ WITH ] option [ ... ] ]

ここで option は以下のとおりです。

	  SYSID uid 
        | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
        | CREATEDB | NOCREATEDB
        | CREATEUSER | NOCREATEUSER
        | IN GROUP groupname [, ...]
        | VALID UNTIL 'abstime' 

入力

username

ユーザの名前です。

uid

SYSID 句を使用して、作成されるユーザの PostgreSQL ユーザ ID を選択することができます。ユーザ ID は Unix ユーザ ID に合わせる必要は全くありませんが、同じ番号を選ぶ人もいます。

この句が指定されない場合、割り当てられたユーザ ID の最大値に 1 を 足したものがデフォルトとして使われます(100が最小値です)。

password

ユーザのパスワードを設定します。もしパスワード認証を使う予定がなければこのオプションは省略できます。しかし、このユーザはパスワード認証をしているサーバに接続できません。 ALTER USER を使用して、後でパスワードを設定することも変更することも可能です。

ENCRYPTED
UNENCRYPTED

このキーワードは、パスワードを pg_shadow に暗号化して保存するかどうかを制御します。(どちらも設定されていない場合のデフォルトの動作は、 PASSWORD_ENCRYPTION サーバパラメータによって決まります。)指定された文字列がすでに MD5 暗号化書式である場合は、ENCRYPTED、UNENCRYPTED のどちらが指定されているかに関係なく、そのまま保存されます。これにより、ダンプ、リストアの時に暗号化パスワードを再読み込みすることができます。

認証機能の設定方法に関する詳細は 管理者用ガイド のクライアント認証の章を見て下さい。古めのクライアントでは、暗号化して保存されたパスワードを使用するために必要な MD5 認証機構をサポートしていない場合があることに注意して下さい。

CREATEDB
NOCREATEDB

これらの句は、ユーザのデータベース作成に関する権限を定義します。 CREATEDB が指定された場合、ユーザ所有のデータベースを作成することができます。NOCREATEDBを使用した場合、作成されるユーザにはデータベースを作成する権限が与えられません。この句を省略した場合は、NOCREATEDB がデフォルトとして使用されます。

CREATEUSER
NOCREATEUSER

これらの句は作成されるユーザに、新たなユーザを作る権限を与えるかどうかを決定します。またこのオプションにより、そのユーザは全てのアクセス制限を上書きできるスーパーユーザになります。この句を省略した場合、ユーザの属性には NOCREATEUSER が設定されます。

groupname

新しいメンバとしてユーザを挿入するグループの名前です。複数のグループ名を指定することができます。

abstime

VALID UNTIL 句は、ユーザのパスワードが有効では無くなるまでの絶対日時を設定します。この句が省略された場合、永遠にログイン可能になります。

出力

CREATE USER

コマンドが問題無く終了した場合に返されるメッセージです。

説明

CREATE USER は、 PostgreSQL のインスタンスに、新しいユーザを加えます。ユーザの管理と認証に関する情報は管理者用ガイドを参照して下さい。このコマンドを使うためには、データベーススーパーユーザでなければなりません。

ユーザのパスワードと権限を変えるためには ALTER USER を使い、ユーザの削除には DROP USER を使って下さい。他のグループのユーザを追加または削除する場合は ALTER GROUP を使って下さい。 PostgreSQL には、このコマンドと同じ機能を持ち、コマンドシェル上から実行できるスクリプト createuser が付随しています(実際に、このコマンドを呼び出すようになっています)。

使用方法

下記はパスワードを持たないユーザを作成します。

CREATE USER jonathan

下記はパスワードを持つユーザを作成します。

CREATE USER davide WITH PASSWORD 'jw8s0F4';

下記は、アカウントが 2001 年の終りまで有効なパスワードを持つユーザを作成します。2002 年に一秒でも入った後はアカウントが有効ではなくなるので注意して下さい。

CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL 'Jan 1 2002';

データベースを作成することのできるアカウントを作成します。

CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;

互換性

SQL92

SQL92 には CREATE USER 文はありません。