Thursday, January 7, 2016

PostgreSQL 9.5 released

Congratulation to the PostgreSQL Global Development Group for finishing another release of a great piece of software. There is pretty massive set of release notes online of which I'd like to cover the most notably changes and additions.

The BRIN
The Block Range Index is a new type suitable for very large datasets where the columns have a "natural correlation with their physical location in the table"; prominent are time-related datatypes (older rows are earlier in the table). It basically reduces the number of pages considered.

The PostgreSQL way of MERGE
That's a long-awaited feature. Due to misgivings about the right balance of atomicity and performance, the PostgreSQL group implemented its own way of UPSERT; and I have to say it's been a good decision.

GROUPING SETS, CUBE and ROLLUP
That is a nice feature for more complicated aggregations. Read up the docs, they are pretty good at teaching it.

Row-Level Security
Another interesting feature that some of you might have a use for is row-level security. Again, the docs show a pretty impressive set of examples to give you a deeper understanding what you can achieve with this.

The Performance
Faster sorts are always helpful considering that indexes not always can fill the bill (too large, too slow to update, inflexible multi-column, …). If you need sorting, you'd appreciate performance.

Furthermore, improving the infrastructure for parallel execution bears great potential as already announced by Robert Haas: Parallel Sequential Scan. Once proven to work reliably in production, other areas like joins and index scans will follow. That release of PostgreSQL will be truly awesome; finally utilizing multi-core ability of today's servers for a single query on a noticeable scale.

Thus, I am even more excited about the next release cycle of PostgreSQL.

No comments:

Post a Comment