Run Postgres Locally

There are two basic ways to run Postgres locally:

  1. Natively on your computer
  2. Via Docker

Most people run Postgres natively without Docker as it’s simpler, runs all the time in the background, and because Docker uses extra resources.

Natively on your computer

On Mac

There are two very popular options.

Install via Homebrew

  1. Make sure you have Homebrew installed.
  2. Run brew install postgresql
  3. Run brew services start postgresql

And that’s it!

Install via Postgres.app

  1. Go to Postgres.app
  2. Download and install the app
  3. Open the app and click “initalize” to create a new server

And then you are good to go!

On Windows

The easiest way is to download and run the installer from

the Postgres website.

Via Docker

  1. Create a docker-compose.yml file inside the root of your project with the following content
  1. version: "3.7"services: db: image: postgres:latest volumes: - data:/var/lib/postgresql/data env_file: ./.env.local #Here we are using the already existing .env.local file ports: - "5432:5432"volumes: data:
  1. Inside your .env.local file add 3 new environment variables which are required by docker
  1. POSTGRES_USER=your_userPOSTGRES_PASSWORD=your_passwordPOSTGRES_DB=your_database_name

Given these values your

DATABASE_URL should look like this postgresql://your_user:your_password@localhost:5432/your_database_name

  1. Modify your package.json to run the database before the start of Blitz
  1. "scripts": { "start": "docker-compose up -d && blitz start",}
  1. Run blitz db migrate to get your new database to the latest version of your migrations