# Installing Postgres via Brew ## Pre-Reqs [Brew Package Manager](http://brew.sh) In your command-line run the following commands: 1. `brew doctor` 1. `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="brew services start postgres" alias pg_stop="brew services stop postgres" ``` 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 `ehsan` `` 8. Run the command `createuser -s postgres` 9. Test with `psql` command ``` $ psql psql (10.0) Type "help" for help. ehsan=# ``` ## 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. ## Commands ### Create database ``` createdb ``` ### List databases ``` psql -U postgres -l ``` ### Show tables in database ``` psql -U postgres -d ``` ### Drop database ``` dropdb ``` ### Restart database ``` dropdb && createdb ```