A slight addition to the above - Postgres is on a great trajectory.
18 months ago it was unusable for the kind of websites we want to use it for today, too slow (including unecessary disk writes after read-only selects, a killer for web sites using the db for personalization), table-level locking, and so flakey that I knocked it over during my first day of testing.
About a year ago, 6.5.3 came out. Many bugs were fixed, MVCC (row-level lock granularity much like Oracle), no unecessary disk writes, etc all implemented. This release convinced me that perhaps basing some web work on Postgres was practical after all.
Now we have 7.0. Along with some new features such as referential integrity constraint checking, there's been tons of bug fixes, considerable improvements in the optimizer, improvements in disk management by the back end, the addition of to_char() for Oracle compatibility, and more. A great step forward.
7.1 will be easily as impressive. Write-ahead logging will be added for complete satifisfaction of durability needs (PG is slightly vulnerable in its current form, but much closer to the bullet-proofness of Oracle than to the cluelessness of MySQL), a really slick large-object facility (already partially implemented), and our (OpenACS) personal favorite, outer joins.
Ben's assessment's right on, with the future looking even better.
I'd love to see us support Interbase if we can abstract out SQL differences in a way that makes supporting two databases practical.
Having two good open source database engines available is at least four times as good as having just one available.