[username]説明createuserは、新しいPostgreSQLユーザを作成します。スーパーユーザ(pg_shadowテーブルでusesuperが設定されているユーザ)のみが新しいPostgreSQLユーザを作成できます。従って、createuserは、PostgreSQLスーパーユーザとして接続可能なユーザによって実行されなければなりません。スーパーユーザであることは、そのデータベースにおけるアクセス権限の検査を素通りできることを意味しています。スーパーユーザという地位を簡単に与えてはなりません。USERSQLコマンドのラッパです。従って、このユーティリティによってユーザを作成しても、これ以外の方法でサーバにアクセスしてユーザを作成しても特別な違いはありません。オプションcreateuserでは、下記のコマンドライン引数を指定できます。username作成するPostgreSQLユーザの名前を指定します。この名前は、使用中のPostgreSQLインストレーションのすべてのユーザ名の中で一意でなければなりません。-a--adduser新しいユーザは、他のユーザを作成することが許可されます。実際には、これにより新しいユーザはスーパーユーザとなります。このオプションの命名は適切ではありません。)-A--no-adduser新しいユーザが他のユーザを作成することを禁止します。(つまり、新しいユーザはスーパーユーザではなく、一般ユーザとなります。これがデフォルトです。-d--createdb新しいユーザは、データベースの作成が許可されます。-D--no-createdb新しいユーザは、データベースの作成が禁止されます。これがデフォルトです。-e--echocreateuserが生成し、サーバに送信したコマンドをエコー表示します。-E--encryptedデータベースに保存する、ユーザのパスワードを暗号化します。指定されない場合はデフォルトのパスワードの振舞いが使用されます。number新しいユーザにデフォルト以外のユーザIDを指定することができます。必要ではありませんが、これを好む人たちもいます。-N--unencryptedデータベースに保存する、ユーザのパスワードを暗号化しません。指定されない場合はデフォルトのパスワードの振舞いが使用されます。-P--pwpromptこれが指定されると、createuserは新しいユーザのパスワードのプロンプトを表示します。パスワード認証を使う予定がなければ、これは必要ありません。-q--quiet応答を表示させないようにします。コマンドラインで指定しない場合、名前や他の不足している情報の入力が要求されます。createuserは、以下のコマンドライン引数も接続パラメータとして受け付けます。hostサーバが稼働しているマシンのホスト名を指定します。この値がスラッシュから始まる場合、Unixドメインソケット用のディレクトリとして使用されます。portサーバが接続を監視するTCPポートもしくはUnixドメインソケットファイルの拡張子を指定します。username接続に使用するユーザ名です。(新しいユーザのパスワードではなく、サーバに接続するためのパスワードです)。環境PGHOSTPGPORTPGUSERデフォルトの接続パラメータです。USERとpsqlにおける潜在する問題とエラーメッセージの説明を参照してください。データベースサーバは対象ホストで稼働していなければなりません。libpqフロントエンドライブラリで使用される、全ての接続設定と環境変数が適用されます。例joeというユーザを、デフォルトデータベースサーバ上に作成します。USERedenホスト上のポート番号5000のサーバを使って同じjoeユーザを作成し、プロンプトを回避し、背後で実行される問い合わせを表示します。USERjoeユーザをスーパーユーザとして作成します。その時にパスワードを割り当てます。USER実際には入力したパスワードは画面には表示されません。上の例では、何を入力したか分かり易くなるように記載しています。上で示した通りコマンドのエコー出力にはパスワードが出力willされます。したがって、第三者が画面を覗き見できるような環境では、パスワードを割り当てる時に-eを使用しない方がいいでしょう。