Skip Navigation
Show nav
Heroku Dev Center
  • Get Started
  • Documentation
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
  • Documentation
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku Architecture
    • Dynos (app containers)
    • Stacks (operating system images)
    • Networking & DNS
    • Platform Policies
    • Platform Principles
  • Command Line
  • Deployment
    • Deploying with Git
    • Deploying with Docker
    • Deployment Integrations
  • Continuous Delivery
    • Continuous Integration
  • Language Support
    • Node.js
    • Ruby
      • Working with Bundler
      • Rails Support
    • Python
      • Background Jobs in Python
      • Working with Django
    • Java
      • Working with Maven
      • Java Database Operations
      • Working with the Play Framework
      • Working with Spring Boot
      • Java Advanced Topics
    • PHP
    • Go
      • Go Dependency Management
    • Scala
    • Clojure
  • Databases & Data Management
    • Heroku Postgres
      • Postgres Basics
      • Postgres Getting Started
      • Postgres Performance
      • Postgres Data Transfer & Preservation
      • Postgres Availability
      • Postgres Special Topics
    • Heroku Data For Redis
    • Apache Kafka on Heroku
    • Other Data Stores
  • Monitoring & Metrics
    • Logging
  • App Performance
  • Add-ons
    • All Add-ons
  • Collaboration
  • Security
    • App Security
    • Identities & Authentication
    • Compliance
  • Heroku Enterprise
    • Private Spaces
      • Infrastructure Networking
    • Enterprise Accounts
    • Enterprise Teams
    • Heroku Connect (Salesforce sync)
      • Heroku Connect Administration
      • Heroku Connect Reference
      • Heroku Connect Troubleshooting
    • Single Sign-on (SSO)
  • Patterns & Best Practices
  • Extending Heroku
    • Platform API
    • App Webhooks
    • Heroku Labs
    • Building Add-ons
      • Add-on Development Tasks
      • Add-on APIs
      • Add-on Guidelines & Requirements
    • Building CLI Plugins
    • Developing Buildpacks
    • Dev Center
  • Accounts & Billing
  • Troubleshooting & Support
  • Integrating with Salesforce
  • Databases & Data Management
  • Heroku Postgres
  • Postgres Basics
  • Heroku Postgres Version Support

Heroku Postgres Version Support

Last updated January 11, 2023

Table of Contents

  • Version Support
  • Legacy Infrastructure

The PostgreSQL project releases new major versions on a yearly basis. Heroku Postgres supports each major version shortly after its release.

Version Support

Heroku Postgres supports at least 3 major versions at a given time. Heroku currently offers Postgres version 14 as the default. Currently supported versions include:

Tier Version Status EOL Date
Essential 9.6 Deprecated November 11, 2021
Essential 10 Deprecated November 10, 2022
Essential 11 Available November 9, 2023
Essential 12 Available November 14, 2024
Essential 13 Available November 13, 2025
Essential 14 Available (Default) November 12, 2026
Standard or higher 9.6 Deprecated November 11, 2021
Standard or higher 10 Deprecating November 10, 2022
Standard or higher 11 Available November 9, 2023
Standard or higher 12 Available November 14, 2024
Standard or higher 13 Available November 13, 2025
Standard or higher 14 Available (Default) November 12, 2026

Users are required to upgrade roughly one time every three years. However, you can upgrade your database PostgreSQL version at any point to gain the benefits of the latest version.

The deprecation process for PostgreSQL versions in Heroku Postgres starts 1 year before its EOL date. Deprecation processes are announced via the Changelog. Instances on deprecated versions are subject to forced upgrade attempts, database access restrictions, and database deletion for non-compliance.

To create a database on an older, supported PostgreSQL version use the –version flag with the addons:create command.

Migration of Deprecated Databases

The PostgreSQL project stops supporting a major version five years after its initial release. Heroku Postgres deprecates these versions to ensure no databases run on an unsupported major version of PostgreSQL.

Heroku highly recommends that you perform the version upgrade before support ends so that you can test compatibility, plan for unforeseen issues, and migrate your database on your own schedule.

Essential-Tier Databases

One (1) year before a version’s end of life (EOL) Heroku prevents provisioning new Essential-tier databases on the deprecated version.

At that time, Heroku starts migrating Essential-tier databases running on the deprecated versions to the last default version available.

Standard-Tier or Higher Databases

  • One (1) year before a version’s end of life (EOL), Heroku notifies customers via email about the deprecation process for their affected databases.
  • Six (6) months before EOL, Heroku prevents provisioning new Standard-tier or higher databases on the deprecated version. Creating forks and followers of existing databases is allowed.
  • One (1) month before EOL, Heroku schedules forced upgrade maintenances for databases that are still running on a deprecated version.

Legacy Infrastructure

Heroku also occasionally deprecates old versions of its infrastructure for the following reasons:

  • The operating system running beneath the database stops receiving security updates.
  • Support for the operating system is no longer practical due to its age (required packages and patches are no longer available or difficult to support).
  • The server instances are are impractical to support because they’re significantly different from Heroku’s current infrastructure.

To see if your database is running on legacy infrastructure, use pg:info:

$ heroku pg:info

=== DATABASE_URL, HEROKU_POSTGRESQL_IVORY_URL
Plan:                  Standard 0
Status:                Available
Data Size:             8.09 MB
Tables:                0
PG Version:            12.5
Connections:           7/120
Connection Pooling:    Available
Credentials:           1
Fork/Follow:           Available
Rollback:              earliest from 2021-01-24 18:59 UTC
Created:               2020-12-01 02:27
Region:                us
Data Encryption:       In Use
Continuous Protection: On
Forked From:           HEROKU_POSTGRESQL_SILVER
Maintenance:           not required
Maintenance window:    Wednesdays 21:30 to Thursdays 01:30 UTC
Add-on:                postgresql-cubed-48277

Keep reading

  • Postgres Basics

Feedback

Log in to submit feedback.

Upgrading the Version of a Heroku Postgres Database Local Setup for Heroku Postgres

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Podcasts
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing

Subscribe to our monthly newsletter

Your email address:

  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Heroku Podcasts
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Facebook
  • Instagram
  • Github
  • LinkedIn
  • YouTube
Heroku is acompany

 © Salesforce.com

  • heroku.com
  • Terms of Service
  • Privacy
  • Cookies
  • Cookie Preferences