createuser [options...] [username]
サーバが動いているマシンのホスト名を指定します。もしホストがスラッシュで始まる場合、Unix ドメインソケットのディレクトリとして使われます。
サーバが接続を監視しているインターネット TCP/IP ポートもしくはローカル Unix ドメインソケットファイル を指定します。
createuser が作成しサーバに送る問い合わせを表示させます。
応答を表示させません。
新しいユーザがデータベースを作成することを許可します。
新しいユーザがデータベースを作成することを禁止します。
新しいユーザが他のユーザを作成することを許可します。(注意: 実際これにより新しいユーザはスーパーユーザ となります。このオプションの名前はあまり適したものとはいえません。)
新しいユーザが他のユーザを作成することを禁止します。(つまり、新しいユーザはスーパーユーザではなく、一般ユーザとなります。)
指定されると、createuserは新しいユーザのパスワードのプロンプトを発行します。これはもしパスワード認証を使う予定がなければ必要ありません。
新しいユーザのユーザ ID をデフォルトでないものを選ぶことができます。必要ではありませんが、これを好む人たちもいます。
データベースに保存するユーザのパスワードを暗号化します。指定されない場合デフォルト値が使用されます。
データベースに保存するユーザのパスワードを暗号化しません。指定されない場合デフォルト値が使用されます。
作成する PostgreSQL ユーザ名を指定します。この名前は全ての PostgreSQL ユーザ名の中で一意なものでなければなりません。
もしコマンドラインで指定しない場合、名前と他の足りない情報を入力するよう要求されます。
オプション -h, -p, そして -e は文字どおり psql に渡されます。psql オプション -Uと -W も有効ですが、このコンテキストではこれらを使うことは混乱を招きかねません。
すべてうまくいきました。
何かに失敗しました。ユーザは作成されませんでした。
もしエラー状態がある場合、バックエンドエラーメッセージが表示されます。可能なエラーについては CREATE USER と psql を参照して下さい。
createuser は新しい PostgreSQL ユーザを作成します。スーパーユーザのみ(pg_shadow テーブルで usesuper が TRUE(t) に設定されているユーザのみ)が新しい PostgreSQL ユーザを作成することができます。 従って、createuser は、 PostgreSQL スーパーユーザであるユーザによって実行されなければなりません。
また、スーパーユーザであることは、そのデータベースにおけるアクセス権限の検査を素通りできることを意味しています。ですから、スーパーユーザという地位を簡単に与えてはなりません。
createuser は PostgreSQL 対話的ターミナル psql を通した SQL コマンド CREATE USER を包む shell スクリプトラッパーです。したがって、この方法あるいは他の方法でユーザを作成しても何も特別なことはないのです。これは psql がスクリプトで参照されてデータベースサーバが目的のホストで稼働していなければならないということです。更に、 psql と libpq フロントエンドライブラリで使用される、全てのデフォルト設定や環境変数も適用されます。