PostgreSQL 8.4 goodies in store
The PostgreSQL 8.4 planned release is March 1, 2009 and is outlined in the PostgreSQL 8.4 Development plan.
It has just passed its May 2008 commit fest milestone and is currently in its July 2008 Commit Fest. Lots of PostgreSQL Planet bloggers have started showcasing some of the new features in store.
We will briefly list our favorite planned and already committed patches.
Things that seem likely
- Built-in simple replication - As Bruce Momjian mentioned in his blog PostgreSQL 8.4 is planning to have built-in log shipping master/slave replication.
More details of that in Core Team on Replication thread. Mostly we are excited about this because it will
be one less thing MySQLers and SQL Servers can hold over why they will never consider PostgreSQL because it has no built-in replication.
- RETURN QUERY EXECUTE This one already made the commit. While it seems small to some, we are very excited about the RETURN QUERY working with
EXECUTE. That was one of the things that made RETURN QUERY of limited use in 8.3. Thanks to Pavel Stehule for that one.
- Function Stats - Hubert Lubaczewski has been highlighting a lot of new nifty features. Many psql enhancements. Function stats is our favorite of his list so far
and is detailed in Waiting for 84 Function Stats
- With RECURSIVE This is another one that hasn't quite made it in yet but is in the July 2008 commit fest.
With Recursive. For people familiar with SQL Server 2005 - this is similar in
style to SQL Server Common Table Expressions (CTE). Not sure the equivalent in Oracle - I presume
Corresponding by CONNECT BY or something along that line. IBM DB2 also has something called common table
expressions, but not quite sure how that works or if it is the same.
- ANSI SQL 2003: table function support This one hasn't made it in yet but is under review. For those who use set returning functions extensively and are frustrated by having to create a type for each set returning function you create, you will appreciate this one.
ANSI SQL 2003: table function support. Thanks go to Pavel again for this one.
Things not so likely
Now there are two other things we are looking forward to that sadly we fear may not make it into 8.4, but with the cycles of PostgreSQL
we'll probably only need to wait an additional year as opposed to 3-5 years (with other DB product release cycles) to see these.
- Windowing functions - for things like moving averages, cumulative sums and other stats across large amounts of data this is important. Lots of people have talked about this and its one
of those things that sticks out like a sore thumb for high-end users.
- MERGE for PostgreSQL 8.4 as noted here - arguably this is just a check-off item for us
because once SQL Server 2008 comes out, PostgreSQL will be the only database we commonly work with that doesn't have this functionality.