initlocation creates a new PostgreSQL secondary database storage area. See the discussion under CREATE DATABASE about how to manage and use secondary storage areas. If the argument does not contain a slash and is not valid as a path, it is assumed to be an environment variable, which is referenced. See the examples at the end.
In order to use this command you must be logged in (using su, for example) as the database superuser.
To create a database in an alternate location, using an environment variable:
$ export PGDATA2=/opt/postgres/data
Stop and start postmaster so it sees the PGDATA2 environment variable. The system must be configured so the postmaster sees PGDATA2 every time it starts. Finally:
$ initlocation PGDATA2 $ createdb -D PGDATA2 testdb
Alternatively, if you allow absolute paths you could write:
$ initlocation /opt/postgres/data $ createdb -D /opt/postgres/data/testdb testdb
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.