What's your favorite 8.4 feature?

Over the past month or so, I have been informally polling those of our customers I've been meeting with about which features in the upcoming 8.4 version of PostgreSQL they are most excited about, and most likely to have use for in the short-to-medium term. Part of the results were exactly what I expected, other parts were a bit more surprising.

First of all, the one feature that every single one said they were very much looking forward to is the updated Free Space Map implementation, which will remove two very annoying and difficult-to-get-right configuration parameters (max_fsm_pages and max_fsm_relations). So kudos to Heikki for that. Closely related to this feature is the Visibility Map, and it's reduction of VACUUM requirements. This is, however, not something a lot of our customers will have a direct use for - other than one or two, they don't actually have any issues with VACUUM (once they learned to remove VACUUM FULL from the nightly cronjobs).

When looking closer at the SQL level functionality that people have been excited above, I expected to see Common Table Expressions (CTEs), AKA Recursive Queries at the top of the list, based on requests on our lists in the future. However, it seems that at least to our customers, Window Aggregates are a lot more interesting than CTEs. I'm sure there are a lot of use-cases for recursive queries - there just seem to be even more of them for window aggregates.

Parallel restoring of dumps is also fairly high on peoples list, though most of the people that can really use it are deploying different ways to deal with it already. But they will definitely be using it once it's there. As well as the speedups of the PITR recovery and warm standby.

There are a lot of other features in the upcoming version as well. Some are small, some are large. There are still some smaller features (for example \ef in psql) that I keep missing a lot every time I end up working on an earlier version. They're all (well, most of them) great, but maybe not so obvious at first.

What's your favorite 8.4 feature?


CTE, by a wide margin. The reason: it permits PG to deal with the hierarchical data structures which OO programmers can't get enough of. Not to mention, DB2, Oracle, and SQLServer have supported hierarchy for some time.

The OLAP stuff, not so much.

Posted on Apr 14, 2009 at 20:28 by Robert Young.

mine's favorite is CTE and window functions. But I gotta say, improvements to planner, vacuum ! (oh yeah baby), parallel restore, and many others just make me want to upgrade all production servers as soon as 8.4.0 is out :) (I will be successfully stopped tho by people at work, sadly - bastards ... ).

Posted on Apr 14, 2009 at 20:31 by gregj.

I'm gonna throw a spanner in the works and say what i'm most looking forward to is the changes in TOAST tables in regards to compression etc as well as the planner improvements, in my case I just started to run out of memory on some production servers and these are likely to compensate for it for the most part, should be fun to see the results of!

Posted on Apr 14, 2009 at 20:36 by Trophaeum.

Reporting all errors when parsing of pg_hba.conf fails! Oh, wait... Visibility Map is really cool. :)

Posted on Apr 14, 2009 at 20:41 by Selena Deckelmann.

Window functions... btw, does anyone know if there is a web page somewhere with all the new features explaind?

Posted on Apr 15, 2009 at 08:41 by Frank.

Isn't built in simple replication still on the list? That one definitely gets my vote.

Posted on Apr 15, 2009 at 13:49 by Jeff.


Built-in replication didn't make it in.

I'd like to chime in about CTEs. This is a fundamental change in what RDBMSs can do, so it opens new markets and other areas of endeavor to PostgreSQL.

Posted on Apr 15, 2009 at 15:00 by David Fetter.

Seems like my #1 vote didn't make it either. On Disk Bitmap Indexes

Posted on Apr 16, 2009 at 13:57 by lotso.

8.4 introduce some nice features, but I'm so disapointed about the Table Partitioning missing (in a easy way compared with today, I mean) . I think that is a essential feature that are present in all PostgreSQL competitors... :/

Posted on Apr 16, 2009 at 15:26 by Alexandre Arruda.


I speak at and organize conferences around Open Source in general and PostgreSQL in particular.


PGConf.EU 2017
Oct 24-27, 2017
Warsaw, Poland
Dec 4-6, 2017
Tokyo, Japan


Postgres Open 2017
Sep 6-8, 2017
San Francisco, USA
Jul 5-7, 2017
St Petersburg, Russia
Jul 4, 2017
London, UK
Amsterdam PUG
Jun 29, 2017
Amsterdam, Netherlands
PGCon 2017
May 23-26, 2017
Ottawa, Canada
More past conferences