Six weeks ago we launched into beta the Heroku Postgres dev plan, a postgres 9.1 plan that offers many of the features of our production tier service. Over 3,000 of these dev databases are in active use, and it has been operating exceptionally well.
When we launched the dev
plan, we wrote that the plan would be limited based
on rows rather than physical byte size. Today we are implementing a 10,000 row
limit for the dev
plan. This limit was chosen to correspond to the 5mb limit
on the existing, shared database service. Over 98% of the active shared
databases that are under 5mb are also under the 10,000 row limit.
Introducing the Basic Plan
If you need more than 10,000 rows, you can upgrade to the production tier plan ($50 / mo), or upgrade to the new new basic plan, available today.
Basic is identical to dev
except that it has a 10 million row limit. The basic
plan
will be available for $9 / month when it exits beta. We expect the beta period
for basic
to be brief, so it should be provisioned only if you intend to
purchase it.
Understanding Row Limits
The dev and basic database plans are both row limited. In order to ensure that the row limits do not disrupt application operation, we have developed the following mechanism for enforcement:
- When your database is at 70% of its row capacity, the owner receives a warning e-mail.
- When the database exceeds its row capacity, the owner will receive an additional notification. At this point, the database will receive a 24-hour grace period to either reduce the number of records, or migrate to another plan.
- If the number of rows still exceeds the plan capacity after 24 hours, INSERT privileges will be revoked on the database. Data can still be read, updated or deleted from database. This ensures that users still have the ability to bring their database into compliance, and retain access to their data.
- Once the number of rows is again in compliance with the plan limit, INSERT privileges are automatically restored to the database. Note that the database sizes are checked asynchronously, so it may take a few minutes for the privileges to be restored.
The Future
The dev
and basic
plans are a big leap forward from the current shared database offering.
By leveraging the infrastructure of our
production tier plans, we've built a powerful, low-cost database service that is accesible to a wide audience of developers.
We encourage all of our users to start using the dev
plan by default for all new apps. Simply enable the Heroku Labs feature flag:
$ heroku labs:enable default-heroku-postgresql-dev
Please read more about this flag on this Dev Center article.
You can also provision a database through the Heroku add-ons catalog or standalone service today.