If you use Homebrew, installing PostgreSQL (and a lot of other packages) is really easy. Just type the following command in Terminal:

brew install postgresql

Normally you need to initialize the database with

initdb /usr/local/var/postgres

But again if you installed PostgreSQL with Homebrew, this is already done for you.

Next you can start PostgreSQL server with:

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

And stop it with:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

After knowing how to start/stop the database server, it is time to create some databases and user accounts, or roles as they are called in PostgreSQL. This part is pretty complicated, and I’ll only cover a tiny little bit. For more detail, please refer to the offical documentation.

The installation process will also create a database named postgres and a role with permission to create new databases. On OSX, the new role has the same name as the current operating system user; but on Ubuntu, this role is named postgres. There are a few useful commands to manage databases and roles:

# create database
createdb my_db_name
# remove database
dropdb my_db_name
# create role/user
createuser username
# remove role/user
dropuser username

You can use the psql command to connect to PostgreSQL server from terminal:

psql mydb

If the database name is not specified, it will default to the current user name.

You can connect to the database as a different role with -U option:

psql -U another_role mydb

You’ll see something like this in psql:

psql (9.4.4)
Type "help" for help.

mydb=#

The last line is mydb=#, which means you are a database superuser. For a normal database user, the last line look like this:

mydb=>

Inside psql prompt, you can use \h to get help about syntax of SQL commands, \? for help with psql commands and \q to quit.

Leave a comment