Given Oracle's licensing handling[a] (and, to a lesser extent, cost) I have always been wondering what the deciding factors would be for choosing Oracle over PostgreSQL or MySQL.
My company is nearly always choosing Oracle (XE where possible), even for small projects where there is just a single simple Windows server box running the database without any dedicated DB administration. (Note that small does not mean the data will always fit the rather small size constraints of Oracle XE.)
I have always questioned this choice, but it has the benefit that we at least are exposed to only one database product.
Still, given a new project, where you need a RDBMS, but the project and scope of the database is pretty small, based on which unique features of Oracle running on simple Windows server boxes (without too much dedicated administration) would you choose Oracle over another RDBMS?
Additional Context: A lot of our database deployments run at customer sites in a, lets call it, "low-administration" mode. That is, the database is set up once. There is some initial testing on its correct behavior and performance on site. After this, the database just run's on its on. No regular administration done. Only if somethings broken will a technician (not a dedicated DBA) check the database, trying to figure out what's up. Backup is mostly done as offline backup. In some projects, the customers don't even care there's a RDBMS involved. They just see their app as a black box that works (or not).
[a] : Where I work, it took several project managers repeatedly months to get proper licensing for small projects as the local Oracle representatives are simply not very interested in selling their product if the revenue is smallish.
Best Answer
I can only attempt to answer for Oracle and postgres. After using Oracle exclusively for years, and postgres only for the last two years or so, I love postgres. There are so many small ways it is more convenient to use than Oracle, and it shares many of the crucial benefits (such as MVCC). It is easier to administer, reliable, has excellent documentation, and of course, it is free.
However postgres is no match for Oracle in some areas, such as:
Interestingly almost all af these features are absent or crippled in XE. I think I'd choose postgres over XE, all else being equal, but...
...none of this addresses the two biggest reasons for choosing Oracle:
EDIT:
The one situation where I'd choose postgres over XE every time is if security is a concern. If your database or any of it's applications are exposed to the public internet I am not sure if XE is a good idea at all.