DB2 and Oracle are better at sales and marketing, they have an established customer base and reputation from back in the days when open source databases were far inferior, and people naturally think they're worth more because they're very expensive. You can throw DBAs and lots of hardware at Oracle and DB2 installations that need extreme performance, and Oracle particularly has a reputation for being able to do anything. Nobody ever got fired for buying Oracle. The DBAs, the licensing and support costs, and the hardware are all very expensive, however.
Nothing's free; open source databases have significant support costs just like the major commercial databases do, but those costs are cheaper. Postgresql has much less market share, so there are fewer support companies -- like Command Prompt Inc or EnterpriseDB -- and fewer DBAs, which makes it harder to get help fast on a project. Oracle DBAs, on the other hand... they're everywhere.
So many database buyers (management types) seem to want a black box and want no part in understanding it or maintaining it. If that's the case, maybe Oracle is for them (or maybe MSSQL instead), but they should be prepared to pay for their lack of interest, and they're deluding themselves thinking that they can run a business that uses Oracle without any in-house database-related infrastructure or payroll. A non-trivial database that supports a critical business need needs a real DBA on payroll, and some programmers to write software to interface with the DB, and enough hardware to require at least a small IT staff. So I question the premise: I don't think it's feasible to treat a database as a black box and depend on outsourcing for all DBA and maintenance needs. Some of programmers in that scenario probably have experience doing simple tasks with mysql or postgresql, whereas they probably won't have any experience maintaining Oracle. The more tech staff you have, the more in-house expertise you have with open source databases. Oracle support you always have to pay for.
Microsoft and other software megacorps can whine all day about how there are "hidden costs" in open source, but often you can find existing employees with open source experience that you can leverage and -- for small-scale needs -- avoids having to pay consultants or hire extra employees.
The question is not so much "Is Oracle more likely to do everything I need and everything I ever will need?" but rather "Is Oracle the most cost effective?"
http://www.informationweek.com/news/software/linux/showArticle.jhtml?articleID=201001901If postgresql has all the features you need, then postgresql is better. If you absolutely need more exotic features from Oracle or DB2, then you are in a small minority of Oracle and IBM customers. I don't see how anyone can know whether Oracle or DB2 will outperform Postgresql for a specific application until they optimize the app for both databases and benchmark both. Generic database benchmarks are notoriously unreliable because optimizing SQL is so complex and every database does it differently.
A particular query will always run better on some databases than on others, but a good DBA or even a db-amateur can usually construct a query that will do what the app needs and run fast, it's just going to require a different query, or sometimes additional indexes, for each different database software.
Management types seem to think that if they just buy Oracle or IBM, everything will be better. Not necessarily. Google for instance had mysql (using innodb, presumably) running their adwords database, years ago.
Some PHB got the idea that they should switch to a commercial database (not specified) because everyone knows those "real" databases are better. Over engineers' objections, they switched, and it was so bad they switched back.Major postgresql users that talk about it: NTT (Japan's major telecom), Fujitsu, CAIXA bank (Brazil), flightaware.com, Skype, Afilias (TLD operator for .org and .info)