createuser

Name

createuser --  新しい Postgres ユーザの作成

Synopsis

createuser [options...] [username]

入力

-h, --host host

postmaster が動いている マシンのホスト名を指定します。もしホストがスラッシュ で始まる場合、Unix ドメインソケットのディレクトリ として使われます。

-p, --port port

postmaster が接続を監視 しているインターネット TCP/IP ポートもしくはローカル Unix ドメインソケットファイル を指定します。

-e, --echo

createdb が作成し バックエンドに送る問い合わせを Echo します。

-q, --quiet

反応を表示させません。

-d, --createdb

新しいユーザがデータベースを作成することを許可します。

-D, --no-createdb

新しいユーザがデータベースを作成することを禁止します。

-a, --adduser

新しいユーザが他のユーザを作成することを許可します。

-A, --no-adduser

新しいユーザが他のユーザを作成することを禁止します。

-P, --pwprompt

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

-i, --sysid uid

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

username

作成する Postgres ユーザ名 を指定します。この名前は全ての Postgres ユーザ名の中でユニークなものでなければなりません。

もしコマンドラインで指定しない場合、名前と他の足りない情報 を入力するよう要求されます。

オプション -h, -p, そして -e は文字どおり psql に渡されます。psql オプション -U-W も有効ですが、 このコンテキストではこれらを使うことは混乱を招きかねません。

出力

CREATE USER

すべてうまくいきました。

createuser: creation of user "username" failed

何かに失敗しました。ユーザは作成されませんでした。

もしエラー状態がある場合、バックエンドエラーメッセージが表示 されます。可能なエラーについては CREATE USERpsql を参照して下さい。

説明

createuser は新しい Postgres ユーザを作成します。 pg_shadow テーブルで usesuper が TRUE(t) に設定されている ユーザのみが新しい Postgres ユーザを作成することが できます。

createuserPostgres 対話的ターミナル psql を通した SQL コマンド CREATE USER を包む shell スクリプトラッパーです。したがって、この方法 あるいは他の方法でユーザを作成しても何も特別なことはないのです。 これは psql がスクリプトに発見されて データベースサーバは目的のホストで起動していなければならない ということです。更に、 psqllibpq フロントエンドライブラリで有効な、どのデフォルト設定や環境変数 にも当てはまります。

使用法

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 の postmaster を使って 同じユーザ joe を作成し、プロンプトを 回避し基になっている問い合わせを見ます。

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