Skip to content

Instantly share code, notes, and snippets.

@samklr
Forked from sgnl/postgres-brew.md
Created November 30, 2017 10:24
Show Gist options
  • Select an option

  • Save samklr/43c9e021c4cd26c652680d24b6e0c887 to your computer and use it in GitHub Desktop.

Select an option

Save samklr/43c9e021c4cd26c652680d24b6e0c887 to your computer and use it in GitHub Desktop.
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. Read the Caveats section that is outputted to the Terminal.

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

  4. Open your zsh config file: subl ~/.zshrc

  5. At the bottom of the file, 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"
    
  6. Run the command: source ~/.zshrc to reload your configuration.

  7. Run the alias you just created: pg-start. Use this comment to start your database service.

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

  9. Connect to your postgres with the command: psql

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.

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