databasepostgresqlchmodchown

Trying to get Postgres setup in my environment but can't seem to get permissions to intidb


I'm following the recent RailsCast on setting up PostgreSQL, but I'm unable to run the initdb /usr/local/var/postgres command. Each time I run it, I get this error:

The files belonging to this database system will be owned by user "Construct".
This user must also own the server process.

The database cluster will be initialized with locale en_US.UTF-8.
The default database encoding has accordingly been set to UTF8.
The default text search configuration will be set to "english".

creating directory /usr/local/var/postgres ... initdb: could not create directory "/usr/local/var": Permission denied

Solution

  • This should work just fine:

    # sudo mkdir /usr/local/var/postgres
    # sudo chmod 775 /usr/local/var/postgres
    # sudo chown $(whoami) /usr/local/var/postgres/
    # initdb /usr/local/var/postgres
    

    Note that using $(whoami) in the third line above ensures this works for the user who's running the command.