Skip to content

Deploying a PostgreSQL App to Heroku

Here’s a basic guideline on how to deploy a Postgres app to Heroku:

1. Setting up your application

Make sure your application is already set up for deployment. This would mean:

  • Your app is using a Git repository.
  • You have a Gemfile that lists all of your application’s dependencies.
  • Rails apps don’t require a Procfile by default as Heroku infers how to run them, but you can provide one if necessary.

2. Creating a Heroku Account

If you haven’t done so already, create an account on Heroku.

3. Installing the Heroku CLI

You need to install the Heroku CLI (Command Line Interface) which allows you to manage your Heroku apps from the command line. You can download it from the Heroku CLI page.

4. Logging in to Heroku from the CLI

Open your command line interface and log in to your Heroku account:

Terminal window
heroku login

You will be prompted to enter your Heroku credentials.

5. Creating a new Heroku application

Create a new Heroku app:

Terminal window
heroku create <your-app-name>

If you want Heroku to generate a name for you, just type heroku create.

6. Adding PostgreSQL to your Heroku application

Add a PostgreSQL add-on to your app:

Terminal window
heroku addons:create heroku-postgresql:hobby-dev

The hobby-dev plan is a free PostgreSQL plan. Heroku will create a new PostgreSQL database and associate it with your application. You can upgrade your PostgreSQL plan later if you want.

7. Configuring your application to use the PostgreSQL database

Heroku stores the URL of the PostgreSQL database in an environment variable called DATABASE_URL. Rails automatically detects and uses this for your database configuration if it’s present, so you don’t need to change anything in your code.

8. Deploying your application

Now that everything is set up, you can deploy your application to Heroku:

Terminal window
git push heroku main

9. Running database migrations (if any)

If your application needs to run database migrations, you can do so via the Heroku CLI:

Terminal window
heroku run rake db:migrate

10. Checking your application

You can now open your application in the browser:

Terminal window
heroku open

This should open a browser window pointing to your newly deployed application.

Remember that these are general guidelines, and there might be slight differences depending on the specifics of your application and the programming language and framework you’re using.