Instantly share code, notes, and snippets.

Embed
What would you like to do?
Installing Postgres via Brew (OSX)

Installing Postgres via Brew

Pre-Reqs

Brew Package Manager

In your command-line run the following commands:

  1. brew doctor
  2. brew update

Installing

  1. In your command-line run the command: brew install postgresql

  2. Run the command: ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents

  3. Create two new aliases to start and stop your postgres server. They could look something like this:

    alias pg_start="launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist"
    alias pg_stop="launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist"
    
  4. Run the alias you just created: pg-start. Use this comment to start your database service.

    • alternatively, pg-stop stops your database service.
  5. Run the command: createdb `whoami`

  6. Connect to your postgres with the command: psql

  7. brew reinstall readline - if needed

  8. createuser -s postgres - fixes role "postgres" does not exist

  9. Test with psql command

    $ psql
    psql (10.0)
    Type "help" for help.
    
    ibraheem=# 
    

Details

What is this ln command I ran in my Terminal?

from the man ln command

The ln utility creates a new directory entry (linked file) which has the same modes as the original file. It is useful for maintaining multiple copies of a file in many places at once without using up storage for the copies''; instead, a link points'' to the original copy. There are two types of links; hard links and symbolic links. How a link ``points'' to a file is one of the differences between a hard and symbolic link.

What is launchctl?

from the man launchctl command

launchctl interfaces with launchd to manage and inspect daemons, angents and XPC services.

Commands

Create database

createdb <database_name>

createdb mydjangoproject_development

List databases

psql -U postgres -l

Show tables in database

psql -U postgres -d <database_name>

psql -U postgres -d mydjangoproject_development

Drop database

dropdb <database_name>

dropdb mydjangoproject_development

Restart database

dropdb <database_name> && createdb <database_name>

dropdb mydjangoproject_development && createdb mydjangoproject_development

@nydiarra

This comment has been minimized.

nydiarra commented Aug 20, 2018

I like your post. Very useful.

@Piglacquer

This comment has been minimized.

Piglacquer commented Sep 10, 2018

Nice post, one little typo: Between steps 3 & 4 the aliases are different. Step 3 is pg_start // pg_stop, and step 4 is pg-start // pg-stop. Thanks!

@sandro-git

This comment has been minimized.

sandro-git commented Sep 22, 2018

thanks it help me a lot

@leftsider

This comment has been minimized.

leftsider commented Oct 17, 2018

Simple and clear. Cheers!

@cyzanfar

This comment has been minimized.

cyzanfar commented Oct 18, 2018

awesome stuffffff

@Darius-Ndubi

This comment has been minimized.

Darius-Ndubi commented Nov 6, 2018

Works like a charm.

@sergeev

This comment has been minimized.

sergeev commented Nov 21, 2018

Thx! очень помогли!

@Physsi07

This comment has been minimized.

Physsi07 commented Dec 11, 2018

Super helpful, thank you so much 👍 💯

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment