initlocationは、PostgreSQLの二次的データベータベース格納領域を新規に作成します。二次的格納領域の管理と使用方法に関してはCREATE DATABASEをご覧下さい。引数にスラッシュが含まれていなく、なおかつパスとして有効でない場合、それは環境変数と見なされ、そこが参照されます。この終りにある例をご覧下さい。
このコマンドを利用するためには、(例えば su を使って)データベースのスーパーユーザとしてログインしている必要があります。
下記のコマンドは、環境変数を使用して、別の場所にデータベースを作成します。
$ export PGDATA2=/opt/postgres/data
postmasterが環境変数PGDATA2を参照するために一度停止し、再起動して下さい。 postmasterが起動される度にPGDATA2を参照するように、システムを設定している必要があります。つまり、以下のようになります。
$ initlocation PGDATA2 $ createdb -D PGDATA2 testdb
また、絶対パスを使用する場合には、下記のように書きます(セキュリティ上の理由により、デフォルトでは使用できません)。
$ initlocation /opt/postgres/data $ createdb -D /opt/postgres/data/testdb testdb