Deep-dive on the Next Gen Platform. Join the Webinar!

Skip Navigation
Show nav
Dev Center
  • Get Started
  • Documentation
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • 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
    • Compute (Dynos)
      • Dyno Management
      • Dyno Concepts
      • Dyno Behavior
      • Dyno Reference
      • Dyno Troubleshooting
    • Stacks (operating system images)
    • Networking & DNS
    • Platform Policies
    • Platform Principles
  • Developer Tools
    • Command Line
    • Heroku VS Code Extension
  • Deployment
    • Deploying with Git
    • Deploying with Docker
    • Deployment Integrations
  • Continuous Delivery & Integration (Heroku Flow)
    • Continuous Integration
  • Language Support
    • Node.js
      • Node.js Behavior in Heroku
      • Working with Node.js
      • Troubleshooting Node.js Apps
    • Ruby
      • Rails Support
      • Working with Bundler
      • Working with Ruby
      • Ruby Behavior in Heroku
      • Troubleshooting Ruby Apps
    • Python
      • Working with Python
      • Background Jobs in Python
      • Python Behavior in Heroku
      • Working with Django
    • Java
      • Java Behavior in Heroku
      • Working with Java
      • Working with Maven
      • Working with Spring Boot
      • Troubleshooting Java Apps
    • PHP
      • Working with PHP
      • PHP Behavior in Heroku
    • Go
      • Go Dependency Management
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • Databases & Data Management
    • Heroku Postgres
      • Postgres Basics
      • Postgres Getting Started
      • Postgres Performance
      • Postgres Data Transfer & Preservation
      • Postgres Availability
      • Postgres Special Topics
      • Migrating to Heroku Postgres
    • Heroku Key-Value Store
    • Apache Kafka on Heroku
    • Other Data Stores
  • AI
    • Working with AI
    • Heroku Inference
      • AI Models
      • Inference Essentials
      • Inference API
      • Quick Start Guides
  • Monitoring & Metrics
    • Logging
  • App Performance
  • Add-ons
    • All Add-ons
  • Collaboration
  • Security
    • App Security
    • Identities & Authentication
      • Single Sign-on (SSO)
    • Private Spaces
      • Infrastructure Networking
    • Compliance
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Teams
    • Heroku Connect (Salesforce sync)
      • Heroku Connect Administration
      • Heroku Connect Reference
      • Heroku Connect Troubleshooting
  • 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

English — 日本語に切り替える

Last updated May 12, 2025

Table of Contents

  • Version Support

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

We release minor versions shortly after they’re available on Postgres. Users can’t update the minor versions themselves via pg:upgrade. If a new minor version is available and the database is on an older minor version, Heroku automatically updates the minor version after each database maintenance.

Version Support

While the PostgreSQL project supports a major version for five years after its initial release, Heroku supports a major version for three years on our platform. Heroku deprecates these versions to ensure no databases run on an unsupported major version of PostgreSQL. Heroku currently offers Postgres version 16 as the default. Currently supported versions include:

Version Status End-Of-Life Date
11 Deprecated November 9, 2023
12 Deprecated May 30, 2024
13 Deprecated October 29, 2024
14 Available Q3 2025
15 Available Q3 2026
16 Available (Default) Q3 2027
17 Beta (Unavailable for Essential-tier databases) Q3 2028

Users are required to upgrade roughly once every three years. We recommend upgrading your PostgreSQL version when a new one is available to gain the benefits of the latest version, such as security or performance enhancements.

We announce deprecations in the Changelog. Databases on deprecated versions are subject to forced upgrade attempts. End-of-life occurs six months after the deprecation date, and we start restricting database access and deleting databases for non-compliance.

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

To see what version of Postgres a database is running, run the pg:info command.

Deprecation and Migration of Deprecated Databases

When we release a new major version, we deprecate the third major version released before it. For example, Heroku Postgres 14 deprecates when Heroku Postgres 17 releases.

  • On the deprecation date, Heroku notifies customers via email about the deprecation process for their affected databases.
  • Three months after the deprecation date, Heroku prevents provisioning new databases on the deprecated version. Creating forks and followers of existing databases is allowed.
  • Five months after the deprecation date, Heroku schedules forced upgrades for databases that still run a deprecated version.

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.

End-of-Life

The end-of-life date of each version occurs six months after its deprecation date. We start restricting database access and deleting databases, including follower databases, for non-compliance after this date.

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
  • Support Channels
  • Status

Language Reference

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

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices