The following instructions to install Postgres are based on macOS.

For Windows and Linux, go to https://www.postgresql.org/download/ and choose your package.

Also search “how to install postgres on windows” or “how to install postgres on your linux distribution” if you’re using other platforms.

It should not differ a lot, especially past the installation phase.

On macOS we’ll use Homebrew. If you don’t have Homebrew installed yet, go to https://brew.sh/ and follow the instructions there.

Once you are done, get back and in the command line run:

brew install postgresql

and after it finished, run:

brew services start postgresql

to start Postgres as a daemon, which means it will keep running in the background, listening for connections.

Using Homebrew has the great advantage that any update can be installed by running

brew upgrade postgresql
brew postgresql-upgrade-database
brew services restart postgresql

postgresql is the more complex to pronounce name of Postgres, but they are the same thing. It just embeds SQL in the name. What’s SQL? SQL, pronouced “sequel”, means Structured Query Language, and it’s a special language we use to interact with a relational database.

If you’re new to database, it’s a lot of new terms for you! Basically a relational database organizes the data into tables, and provides a way to insert and extract data from those tables. That’s SQL.

And we’re going to use it soon.

Right after we log in to Postgres!

Go back to the command line, and type

psql postgres

using psql

This will give you access to the postgres database, which is created by default, with your macOS username. Homebrew automatically created your user at installation.

Now that we are into the psql application, we can create a new database:

CREATE DATABASE test;

Don’t forget the semicolon ;, because it’s needed by SQL otherwise the command will not run.

Now in a new line, we switch to this database using

\c test

The prompt will tell something like this:

You are now connected to database "test" as user "flaviocopes"..

Now we’re going to create a new table.

Use this syntax:

CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  email VARCHAR(255) UNIQUE NOT NULL,
  password VARCHAR(255) NOT NULL
);

Now if you run this, and now error shows up, you will have the table in the system.

You can see it by running the command

\dt

which will show you the database tables:

If you did any error, you can delete the table by running the command

DROP TABLE users

To finally quit psql, run

\q

or just type quit.

Now that you know how things work under the hood, I will show you an easier way to work with Postgres, and other databases too: the TablePlus app. It works on macOS, Windows and Linux.

Connect to the database:

specifying the test database name:

In addition to be able to inspect tables with a Graphical User Interface:

It also allows us to work with SQL queries, very easily:


Pssst! Also check my latest YouTube video



I am writing a book on how to create a successful blog as a developer.
It will be released late February.
Signup to my newsletter to get 2/3 free chapters in your inbox in the next few weeks!