








Last updated May 18, 2026
Heroku Postgres Advanced is in limited general availability. To start creating and using Advanced databases, open a ticket with Heroku Support to request access. Subscribe to our changelog to stay informed of when Heroku Postgres Advanced is generally available.
Heroku Postgres Advanced databases offer default plan levels that you can customize. You can provision an Advanced database through interactive CLI prompts or through the command flags. This article explains how to provision an Advanced database, the customizable features, and removing a database.
This article covers provisioning Heroku Postgres Advanced-tier databases. To provision Postgres databases on a different tier, see Provisioning Heroku Postgres.
To see details on the different Advanced plan levels, run data:pg:levels, see Choosing the Right Heroku Postgres Plan, or the Elements Marketplace.
$ heroku data:pg:levels
=== Available levels for Heroku Postgres Advanced databases
Name vCPU Memory (GB) Max Connections
─────────────── ──── ─────────── ───────────────
4G-Performance 2 4 400
8G-Performance 2 8 800
16G-Performance 2 16 1600
32G-Performance 4 32 3200
...
Your database can take up to 30 minutes to become available.
The interactive CLI walks you through creating a Postgres Advanced database. To provision a database, run the data:pg:create command and follow the prompts:
Select Configure Leader Pool and select the plan level for your database cluster.
$ heroku data:pg:create -a example-app
Create a Heroku Postgres Advanced database
Press Ctrl+C to cancel
→ Configure Leader Pool
Configure Follower Pool(s)
? Select a Leader Pool Level: (Use arrow keys)
❯ 4G-Performance 2 vCPU 4 GB MEM starting at ~$0.208/hour ($150/month)
8G-Performance 2 vCPU 8 GB MEM starting at ~$0.417/hour ($300/month)
16G-Performance 2 vCPU 16 GB MEM starting at ~$0.694/hour ($500/month)
32G-Performance 4 vCPU 32 GB MEM starting at ~$1.250/hour ($900/month)
Enable or disable high availability on your leader instance pool.
The leader pool has high availability enabled and includes a standby instance for redundancy.
If you disable high availability, you remove the standby and you won't have redundancy on your database.
? Do you want to keep the high availability standby instance? (Use arrow keys)
❯ Keep high availability (HA)
Remove high availability -$0.208/hour ($150/month)
──────────────
Go back
Review your configuration and select Confirm.
✓ Configure Leader Pool ~$0.417/hour ($300/month)
4G-Performance 2 vCPU 4 GB MEM ~$0.208/hour ($150/month)
Standby (High Availability) ~$0.208/hour ($150/month)
? Confirm provisioning? (Use arrow keys)
> Confirm
Go back
Creating a 4G-Performance database on ⬢ example-app... done
Database should be available soon
postgresql-rugged-24211 is being created in the background. The app will restart when complete...
Use heroku data:pg:info postgresql-rugged-24211 -a example-app to check creation progress.
Optionally, you can create follower instance pools for your database or exit the create command. You can also add follower instance pools later.
You can configure a follower pool while the leader pool is being configured. (Use arrow keys)
> Configure a follower pool
Exit
? Select a Follower Pool Level: (Use arrow keys)
❯ 4G-Performance 2 vCPU 4 GB MEM starting at ~$0.208/hour ($150/month)
8G-Performance 2 vCPU 8 GB MEM starting at ~$0.417/hour ($300/month)
16G-Performance 2 vCPU 16 GB MEM starting at ~$0.694/hour ($500/month)
32G-Performance 4 vCPU 32 GB MEM starting at ~$1.250/hour ($900/month)
...
Select the number of instances in your follower instance pool and give your instance pool a name.
A cluster can have up to 13 follower instances. Two or more instances in a pool enables high availability for redundancy.
Adding more instances distributes the load in the follower pool.
? Select the number of instances for this pool: (Use arrow keys)
1 instance
2 instances
❯ 3 instances
...
? Do you want to name this follower pool? (Use arrow keys)
> Yes
No, assign a random name
? Enter a unique pool name (3-32 lowercase letters and numbers, no spaces):
follower-pool
Review your configuration and select Confirm.
✓ Configure Follower Pool ~$0.625/hour ($450/month)
follower-pool
4G-Advanced
3 instances (High Availability)
? Confirm provisioning? (Use arrow keys)
> Confirm
Go back
Configuring follower pool... done
Success: we're provisioning follower-pool follower pool on postgresql-rugged-24211.
Run heroku data:pg:info postgresql-rugged-24211 -a example-app to check creation progress.
? Configure another follower pool? (y/N)
You can also provision a database with customizable options through the command flags:
| Flag | Description |
|---|---|
--level |
Set the compute scale level for the instance |
--followers |
Provision one follower instance pool with a specified number of instances |
--[no]-high-availability |
Enable or disable high availability on the leader instance pool |
--network |
Set the database to be in a private or shield network |
--version |
Set the Postgres version for the database |
--as |
Name the database attachment |
This example creates an Advanced database in a Private Space with a 4G-Performance leader instance and a standby instance for high availability, and one follower instance pool with two 4G-Performance instances:
$ heroku data:pg:create --level 4G-Performance --followers=2 --high-availability --network private -a example-app
Creating a 4G-Performance database on ⬢ example-app... done
Database should be available soon
postgresql-clear-54321 is being created in the background. The app will restart when complete...
Run heroku data:pg:info postgresql-clear-54321 -a example-app to check creation progress.
Success: we're provisioning thoughtful-pool-50369 follower pool on postgresql-clear-54321.
Run heroku data:pg:info postgresql-clear-54321 -a bookish-iri to check creation progress.
Your database can take up to 30 minutes to become available.
After provisioning or creating an attachment, you can see the details about the database via the CLI or the dashboard.
To see details about a database with data:pg:info, run the command:
$ heroku data:pg:info HEROKU_POSTGRESQL_COBALT
=== ⛁ postgresql-rugged-24211 on ⬢ example-app
Plan: Advanced
Status: Available
Data Size: 1.10 GB / 128.00 TB
Tables: 10 / 4000 (In compliance)
PG Version: 17.9
Rollback: earliest from 2026-05-18 00:00 UTC
Region: us
Created: 2026-05-18 00:00 UTC
Quotas:
Storage: 1.10 GB (No quotas set)
=== Leader pool (attached as DATABASE)
✓ Available
Connections: 10 / 400 used
2 instances of 4G-Performance (HA):
leader.i3r507gt6dbscn: up
standby.i7fquhvs4efu74: up
=== Follower pool analytics (attached as DATABASE_ANALYTICS)
✓ Available
Connections: 50 / 800 used
2 instances of 4G-Performance (HA):
follower.ic7mb4lq0rkurk: up
follower.i7q78mp2fg4v15: up
To see details about a database from the dashboard, navigate to your database from the Heroku Dashboard. The dashboard provides the following features. We’ll update this table as we add features to the dashboard. You can subscribe to our changelog to stay informed.
| Available on the Dashboard | To Be Added on the Dashboard |
|---|---|
| View cluster information including leader instance pool and follower instance pools | Provision Advanced databases |
| View database instance pool attachments information | Scale instance pools |
| View storage and table utilization | |
| View some database metrics | |
| View database credentials |
| Status | Database Description | Instance Pool Description |
|---|---|---|
Available |
Database is available | Instance pool is available |
Unavailable |
Database is unavailable | Instance pool is unavailable |
Provisioning |
Database is provisioning | Instance pool is provisioning |
Unknown |
Uncertain state | Uncertain state |
Modifying |
A database instance pool is updating (for example: adding and removing instances, scaling instance levels) | Instance pool is updating (for example: adding and removing instances, scaling instance levels) |
Migrating |
Database is migrating to Advanced tier | N/A |
Advanced databases provide flexibility over traditional Heroku Postgres databases by having customization options. These customizable features let users adjust their database to fit their needs as their app requirements change.
You can customize these options:
| Customization Feature | Command | Flag |
|---|---|---|
| Create the database in a Private or Shield space of the app | data:pg:create |
For a Private Space: --network privateFor a Shield Space: |
| Enable or disable high availability on a leader instance pool | data:pg:createdata:pg:update |
With data:pg:create --high-availability or data:pg:create --no-high-availabilityWith |
| Add follower instance pools | data:pg:createdata:pg:update |
With data:pg:create --followers=[value] or through interactive promptsWith |
| Scale the number of follower instance pools | data:pg:update |
With data:pg:update through interactive prompts |
| Set storage quota thresholds | data:pg:quotas:update |
With data:pg:quotas:update --warning=[value] --critical=[value] |
When customizing these features, keep in mind:
data:pg:create to add follower instance pools to a new database when provisioning. If you use the data:pg:create interactive prompts, you can create multiple follower instance pools. If you use the --followers flag in data:pg:create, you can only create one follower instance pool with a specified number of instances. To add follower instance pools to an existing database, use the interactive data:pg:update command.--network flag after creating the database. You can only specify it when you provision the database.See Managing Heroku Postgres using the CLI for the commands reference.
The DATABASE_URL config var designates the URL of an app’s primary Heroku Postgres database. For apps with a single database, its URL is automatically assigned to this config var. For apps with multiple Postgres databases, set the primary database with heroku pg:promote.
You can attach the leader instance pool and follower instance pools on your database between multiple apps. Attaching follower instance pools to other apps can be helpful for distributing read load. Attachments on Advanced databases use the data:pg:attachments:* commands.
To attach the leader instance pool of your database to another app, run the command:
$ heroku data:pg:attachments:create postgresql-rugged-24211 -a attached-app --as ATTACHED_DB
Attaching postgresql-rugged-24211 to ⬢ example-app... done
Setting ATTACHED_DB config vars and restarting ⬢ attached-app... done
To attach a follower instance pool to another app, use the --pool flag and provide the name of the follower instance pool:
$ heroku data:pg:attachments:create postgresql-rugged-24211 --pool=analytics-pool -a attached-app --as ANALYTICS_DB
Attaching analytics-pool on postgresql-rugged-24211 to ⬢ attached-app... done
Setting ANALYTICS_DB config vars and restarting ⬢ attached-app... done
To view the attachments on a database, run the command:
$ heroku data:pg:attachments postgresql-rugged-24211 -a attached-app
=== Attachments for ⛁ postgresql-rugged-24211
Attachment Credential Pool
──────────────────────────────────────── ────────── ─────────────
ATTACHED_DB::postgresql-rugged-24211 owner leader
FOLLOWER_DB::postgresql-rugged-24211 N/A analytics-pool
You can modify a database and its instance pools after provisioning them. See Managing Instance Pools on Heroku Postgres Performance for more information.
To destroy your Advanced database, run the command:
$ heroku data:pg:destroy postgresql-rugged-24211 -a example-app --confirm example-app
Destroying postgresql-rugged-24211 on ⬢ example-app... done
We successfully destroyed your database.
To destroy your Advanced database from the Heroku Dashboard:
Datastores tab.Settings tab.Destroy Database from the Destroy row.Delete Database page, enter the app’s name to confirm, and select Delete Database.此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。