Today, we're happy to announce full support for PostgreSQL 10, opening our managed Postgres solution to the full slate of features released after a successful two-month Beta period. PostgreSQL 10 is now the default version for all new provisioned Heroku Postgres databases. All Postgres extensions, tooling, and integration with the Heroku developer experience are ready to use, giving you the power of PostgreSQL 10 with the ease and usability of Heroku for building data-centric applications.
We'd like to re-emphasize a few features – among the many released in Postgres 10 – that we are particularly excited about.
A pattern we often see in databases in our fleet is one or two tables growing at a rate that’s much larger and faster than the rest of the tables in the database. Query times within the application will start to rise, bulk loads will take longer, and creating indexes
take a long time. Postgres table partitioning can be a great way to keep good query performance for those very large tables by partitioning what is logically one big table into smaller physical pieces.
In PostgreSQL 10, users have the option to leverage native table partitioning — our Postgres 10 beta blog post provides an example on how to use native table partitioning. The pg_partman extension is still supported for those wishing to continue using it for time-based and serial-based table partition sets.
Additionally, a lot of work in PostgreSQL 10 has been put in to improving use of parallelism for joins, scans and queries. This enables PostgreSQL to take advantage of the multiple CPU cores available on our production plans. Users will see a performance boost for some queries, particularly more complex ones.
If you want to try out the new version, it's is as simple as provisioning a new database:
$ heroku addons:create heroku-postgresql -a sushi $ heroku pg:info DATABASE_URL -a sushi === DATABASE_URL Plan: Hobby-dev Status: Available ... PG Version: 10.1 ...
If you have an existing database on the platform, we encourage you to look into upgrading your Postgres version: see our documentation for upgrading. For further details about other new features in PostgreSQL 10, please see the PostgreSQL documentation. Let us know what you think at email@example.com.