There are numerous ways to get a PostgreSQL server up and running - the easiest is usually your best choice!

I like to run Postgres locally, so I typically run Postgres.app because I'm working on a Mac. It's very flexible and is a drag/drop install.

You can also work with Docker if you like, but beware that you might run low on resources later in the course as we dive into millllllions of records. Here's a docker-compose file for you to get started with:

version: "3"services:  postgres:    image: postgres:13.3    environment:      - POSTGRES_USER=dee      - POSTGRES_PASSWORD=deedle      - POSTGRES_DB=cassini    ports:      - "8088:5432"    volumes:      - ./data/pg:/var/lib/postgresql/data      - ./csvs:/home    container_name: pg  pgweb:    container_name: pgweb    restart: always    image: sosedoff/pgweb    ports:      - "8080:8081"    links:      - postgres:postgres    environment:      - DATABASE_URL=postgres://dee:deedle@postgres:5432/cassini?sslmode=disable    depends_on:      - postgres

Here are some fun aliases for you to pop into your .env file if you have a plugin that will auto load them into your shell:

alias up="docker-compose up"alias down="docker-compose down"alias in="docker exec -it pg /bin/bash"

If you're on Windows, it's probably easiest to download Postgres and run it as a service.

Clients

We'll be using the the shell for most of our work, but at times you might want to be working in a GUI. If you run the docker bits above, a GUI is there for you and should be running on port 8080 when you docker-compose-up.

I like Postico and have paid the $35 happily. It's Mac-only, so if you're on Windows I would encourage you to download the Azure Data Studio.