Ordered Aggregates. This is extremely useful for spatial aggregates and ARRAY_AGG, STRING_AGG, and medians where you care about the order of the aggregation. Will have to give it a try.
For example if you are building a linestring using ST_MakeLine, a hack you normally do would be to order your dataset a certain way and then run ST_MakeLine. This will allow you to do
ST_MakeLine(pt_geom ORDER BY track_time) or ARRAY_AGG(student ORDER BY score) This is very very cool. Depesz has some examples of ordered aggregates.

Join removal -- this is a feature that will remove joins from the execution plans where they are not needed. For example where you have a left join that doesn't appear in a where or as a column in select. This is important
for people like us that rely on views to allow less skilled users to be able to write meaningful queries without knowing too much about joins or creating ad-hoc query tools that allow users to pick from multiple tables. Check out Robert Haas why join removal is cool for more use cases.

GRANT/REVOKE ON ALL object IN SCHEMA and ALTER DEFAULT PRIVILEGES. This is just a much simpler user-friendly way of applying permissions. I can't tell you how many times we get beat up by MySQL users who find the PostgreSQL security management tricky and tedious to get right.
Of course you can count on Depesz to have an example of this too Waiting for 9.0 - GRANT ALL

Runner ups

pg_upgrade is now included in contrib and much improved we hear. Can't wait to try this out. This will allow for in-place migration from PostgreSQL 8.3+ -> 9.0

STRING_AGG -- this is a nice to have so you don't need to do array_to_string(ARRAY_AGG(somefield), '\') and with the ORDER BY feature its even better.

Conditional triggers - triggers that only run based on some boolean expression. Improves trigger speed by a bit for some kinds of triggers

ANSI SQL column level triggers

DROP IF EXISTS for columns and constraints

Python 3 support - now you can write database stored functions in PL/Python 3 as well as the 2.5/2.6 series.

Explain plan improvements -- now you can see shared buffers using EXPLAIN (ANALYZE, buffers) SELECT * FROM sometable;

DO it -- run anonymous PL functions subroutines. Useful for one off kind of stuff or mixing various languages in a work process.

Windows 64-bit support

exclusion constraints - this is useful for schedules and so forth to prevent overlapping periods. Jeff Davis has some slides up on how this works. Not Just Unique.

other stuff

Another new feature is the GUC for outputting bytea data as HEX or ESCAPED. The default is now HEX. This has broken our ability to display geometries using OpenJump ad-hoc query tool
unless we do a work-around of ALTER DATABASE gisdb SET bytea_output='escape';. We are still not quite sure how much of an issue this is. PostgreSQL 9.0 ST_AsBinary rendering

What is new in PgAdmin III 1.12.0
Gathering from the number of hits we got from our What's new in PostgreSQL 9.0, and the large number of slashdot responses we got as well as the fair number of reddit responses, I guess a lot of people are really excited about the upcoming PostgreSQL 9

How about the "ignore nulls" feature for things like last_value? I find it very useful for sequencing things in Oracle (ie: union a buncha things together, order by time or something, then do last_value ignore nulls to get previous value from another table, etc.).

CREATE OR REPLACE VIEW which in PostgreSQL 8.4 allows you to add columns at the end without dropping the view. But yes I am looking for something like what MySQL and SQL server allow to do -- with being able to insert columns in the middle or change datatypes of columns without dropping. Especially when you have views dependent on other views it does get painful.

Until tables aren't stored in separate files I just look on. Something like ASM would be cool as well.

Cool that Postgres is getting into OLAP though. MSSQL Server's lack of features is made up in price, Excel integration, and tools. For some enterprise OLAP in the cloud will be important.

"create or alter table" and other schema modification enhancements would be cooler for the industry in general. Fast and easier schema management would have more of a positive effect on the RDBMS world than "nice" little things like REPLACE INTO which are fairly easy to work around.

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.Enter the string from the spam-prevention image above: