PostgreSQL 8.0.0 文書
前のページ | 巻戻し |  | 早送り | 次のページ

# createuser

## 名前

createuser -- 新しいPostgreSQLユーザアカウントの定義

## 概要

`createuser` [`option`...] [`username`]

## 説明

createuserは、新しいPostgreSQLユーザを作成します。 スーパーユーザ(`pg_shadow`テーブルで`usesuper`が設定されているユーザ)のみが新しいPostgreSQLユーザを作成できます。 従って、createuserは、PostgreSQLスーパーユーザとして接続可能なユーザによって実行されなければなりません。

また、スーパーユーザであることは、そのデータベースにおけるアクセス権限の検査を素通りできることを意味しています。 ですから、スーパーユーザという地位を簡単に与えてはなりません。

createuserはCREATE USER SQLコマンドのラッパです。 従って、このユーティリティによってユーザを作成しても、これ以外の方法でサーバにアクセスしてユーザを作成しても特別な違いはありません。

## オプション

createuserでは、下記のコマンドライン引数を指定できます。

`username`

  作成するPostgreSQLユーザの名前を指定します。 この名前は、全てのPostgreSQLユーザ名の中で一意でなければなりません。

`-a`
`--adduser`

  新しいユーザは、他のユーザを作成することが許可されます。 (注意: 実際には、これにより新しいユーザはスーパーユーザとなります。 このオプションの命名は適切ではありません。)

`-A`
`--no-adduser`

  新しいユーザが他のユーザを作成することを禁止します。 (つまり、新しいユーザはスーパーユーザではなく、一般ユーザとなります。) これがデフォルトです。

`-d`
`--createdb`

  新しいユーザは、データベースの作成が許可されます。

`-D`
`--no-createdb`

  新しいユーザは、データベースの作成が禁止されます。 これがデフォルトです。

`-e`
`--echo`

  createuserが生成し、サーバに送信したコマンドをエコー表示します。

`-E`
`--encrypted`

  データベースに保存する、ユーザのパスワードを暗号化します。 指定されない場合はデフォルトのパスワードの振舞いが使用されます。

`-i `number``
`--sysid `number``

  新しいユーザにデフォルト以外のユーザIDを指定することができます。 必要ではありませんが、これを好む人たちもいます。

`-N`
`--unencrypted`

  データベースに保存する、ユーザのパスワードを暗号化しません。 指定されない場合はデフォルトのパスワードの振舞いが使用されます。

`-P`
`--pwprompt`

  これが指定されると、createuserは新しいユーザのパスワードのプロンプトを表示します。 もしパスワード認証を使う予定がなければ、これは必要ありません。

`-q`
`--quiet`

  応答を表示させないようにします。

コマンドラインで指定しない場合、名前や他の不足している情報の入力が要求されます。

createuserは、以下のコマンドライン引数も接続パラメータとして受け付けます。

`-h `host``
`--host `host``

  サーバが稼働しているマシンのホスト名を指定します。 この値がスラッシュから始まる場合、Unixドメインソケット用のディレクトリとして使用されます。

`-p `port``
`--port `port``

  サーバが接続を監視するTCPポートもしくはUnixドメインソケットファイルの拡張子を指定します。

`-U `username``
`--username `username``

  接続に使用するユーザ名です。(作成するユーザの名前ではありません)

`-W`
`--password`

  パスワードのプロンプトを強制的に表示します (新しいユーザのパスワードではなく、サーバに接続するためのパスワードです)。

## 環境

`PGHOST`
`PGPORT`
`PGUSER`

  デフォルトの接続パラメータです。

## 診断

問題が発生した場合、CREATE USERとpsqlにおける潜在する問題とエラーメッセージの説明を参照してください。 データベースサーバは対象ホストで稼働していなければなりません。 また、libpqフロントエンドライブラリで使用される、全ての接続設定と環境変数が適用されます。

## 例

`joe`というユーザを、デフォルトデータベースサーバ上に作成します。

    $ createuser joe
    Is the new user allowed to create databases? (y/n) n
    Shall the new user be allowed to create more new users? (y/n) n
    CREATE USER

`eden`ホスト上のポート番号5000のサーバを使って同じ`joe`ユーザを作成し、プロンプトを回避し、背後で実行される問い合わせを表示します。

    $ createuser -p 5000 -h eden -D -A -e joe
    CREATE USER "joe" NOCREATEDB NOCREATEUSER
    CREATE USER

## 関連項目

dropuser, CREATE USER

前のページ | ホーム | 次のページ
createlang | 上に戻る | dropdb