データベースクラスタ(またはデータベースシステム)を作成します。データベースクラスタとは、1つのサーバインスタンスで管理されるデータベースの集合です。template1データベースの作成から成ります。新しいデータベースを作成する際、template1データベースの内容すべてがコピーされます。そこには組み込み型といったものの全てを含むカタログテーブルが含まれています。サーバプロセスの所有者によって実行されなければなりません。よって作成されるファイルやディレクトリにサーバがアクセスする必要があるからです。実行してはいけません。(実際に行なったとしても拒絶されます。)initdbは指定されたデータディレクトリを作成しようと試みますが、多くの場合、指定されたデータディレクトリの親はrootなので、その権限がありません。使ってそのディレクトリの所有権限をデータベースのユーザに変えて下さい。それからsuでデータベースユーザに変わってからデータベースユーザとしてinitdbを行って下さい。directoryこのオプションは、データベースシステムがどのディレクトリに格納されるべきかの指定を行います。initdbに必要な情報はこれだけですが、環境変数PGDATAを設定することによってこのオプションで指定する手間が省けます。この方法は、後に同じ変数を使用してデータベースサーバ(postmaster)がデータベースディレクトリを参照できるので、効率的です。usernameデータベースのスーパユーザのユーザ名を選択します。実行している実効ユーザの名前がデフォルトです。いう名前を、たとえ、オペレーティングシステムのユーザ名と異なるものであったとしても、選択し使用し続けることもできます。データベースのスーパーユーザ権限を与えるためにパスワード入力のプロンプトを表示します。パスワード認証を行うつもりがない場合は必要ありません。なければ、パスワードの設定を行わない限りパスワード認証が行われません。データベースのエンコーディングを選択します。ここで上書しておかない限り、その後に作成されたデータベースのデフォルトエンコーディングとなります。エンコード機能を使用する場合は構築の際にこの機能を有効にしなければなりません。このオプションのデフォルトを指定する必要があります。この他にも、使用頻度は下がりますが、下記の引数が使用可能です。directoryデータベースシステムを初期化する際にどの入力ファイルをinitdbが参照すべきかを指定します。これは通常必要ありません。明示的に指定する必要がある場合は、その時に指定するよう要求されます。--noclean-nデフォルトでは、initdbを実行中にエラーが発生し、データベースを完成させられなかった場合に、そのエラーが発生する前に作成されたすべてのファイルを削除します。このオプションは整頓作業を制御するので、デバッグの際にはとても便利です。--debug-dブートストラップバックエンドからデバッグ情報を表示させ、その他にも一般の利用者にはとりたてて興味のない情報を出力します。initdbがカタログテーブルを作成する際に使用するものです。このオプションはうんざりするようなログを大量に出力します。環境PGDATAデータベースシステムを保存するディレクトリを指定します。オプションを使用して上書きすることができます。initlocation。