As a Sales Engineer at EnterpriseDB, I typically have access to the latest versions of Postgres prior to public beta. With the short time I've had to install, configure and test Postgres 11, I can unequivocally say that there are some exciting and truly beneficial features in store for Postgres when 11 ships. Below is a list of what I think of some of the highlights in no particular order...
Enhanced Parallelism. Since Postgres 9.6, parallelism was both introduced and limited to sequential scans. That was great if your table was partitioned by integer-based primary keys, but there are many deployments that do not subscribe to this model. With the newly added feature of parallel hash joins, the Postgres Planner/Optimizer can work in parallel across more datasets than was previously possible.
Additionally, Postgres 11 also features additional parallelism features with Parallel Index Creation and Parallel CREATE ..., just to name a few.
CREATE PROCEDURE. Postgres 11 introduces procedures as definable objects independent of functions. From a Sales Engineer's perspective, this was a feature often asked for from organizations migrating from legacy, commercial database solutions and a feature that's been a part of EDB's Advanced Server for some time now (along with other Oracle Compatibility Features). The reason for my excitement is that transitioning and migrating between database systems is challenging enough for organizations in many facets (eg, functional, technical, economic) and nomenclature shouldn't be among these impediments.
Partitioning Improvements. PostgreSQL 11 contains several features that improve options for how you structure and partition your data, including:
- The ability to partition by a hash key ("hash partitioning"). This is an excellent opportunity to define hash algorithms to partition among complex primary keys.
- UPDATE to partitioned key values now will move the affected row to the appropriate partition. Previously, when trying to update a primary key which would invalidate a tuple for its assigned partition, the update would fail.
For a complete list of the upcoming features of Postgres 11, please take a look at the main project page for the Postgres 11 release or contact an EDB sales representative today (firstname.lastname@example.org) for a discussion.