In my experience: With open source software, you get what you pay for.
There are a few free databases, but trying to struggle with the issues caused by them will cause alot of frustration in the end.
If you uue Cache db (which is cheaper but not free) you try to do an inner join to the same table twice (with aliases), you will cause a deadlock with the sql statement (the one join will lock the table so the other join won't be able to access it)...
Postgres has some decent tools, but you run into the same type of issues. Some things which can be done very easily with MSSQL are just a chore to figure out (if at all possible) with Postgres. Usuaully I have to make an external program just to work around issues I can't get done in their SQL db which would have taken me 30 seconds to do in MSSQL.
MySQL experience was limited (a few years ago) but during my time experiencing it, their database management tools would crash all the time to the point I just wanted to pull my hair out and decided to just go back to MSSQL.
I'm not saying that open source doesn't have its place, but if you want to seriously consider a business, you should stick with things that have a price tag.
Another thing to keep in mind, MS stuff has big teams working on it, its used alot, and they have very solid testing (unit) teams. The stuff usually works and if there are hiccups, chances are Google will get you through it because its been figured out by 12 people before you (who wish to post about it). Open source software has that but to a lesser degree. Alot of the time, you post on their sourceforge.net website and hope they respond in a timely manner and usually they don't. While you wait for the response, you twiddle your thumbs or just work around the issue by other means.
YMMV. I usually try to stick with MS products these days after having so many problems with open source products. Some people at my job insist that MS is a big evil corporation and will do things in other tools but they are much less productive (in my experience.) I can kick out code that works while they are working on their "small apps" (What you would think is a few month app) years later trying to get it to work properly and report the right results.
I am their supervisor so I know, and now my company has a policy to only develop in MS products. And yet they are still trying to convince me to use Ruby for web server apps. I just respond "You code in notepad.exe and you can't run a debugger through your code, how much time do you put into your app with print statements trying to narrow down problems? If you have a big app, you will need a debugger. Sure Ruby is fine if it's just a small one page program, but for anything more, you need big boy tools."