I am presently planning the infrastructure for my future web project. I wish to go the way in which Joel opted for getting one DB per client and today thinking which DB engine is going to be great for me. The very best could be obviously SQL Server, however i can not afford a complete-blown version now and that i don't believe SQL Server Express is a sensible choice for that loaded service. Now I am considering using PostgreSQL rather. Considering that my development atmosphere is going to be ASP.Internet 3.5 with say NHibernate or LINQ to SQL, just how much trouble am i going to have basically use PostgreSQL rather than SQL Server?

Thanks!

NHibernate works Comfortable with PostgreSQL (if the db is on Home windows or UNIX-like OSes) and .Internet utilizes it while using Npgsql db provider.

The only real "trouble" you will get is obviously PostgreSQL does not do T-SQL. Actually its PL/pgSQL saved proc language is nearer to Oracle's PL/SQL than to MS SQL Server's T-SQL. So you will need to recode your saved procs, and you will see some gotchas to be careful for should you choose ADO.Internet. If you are using NHibernate, you most likely will not have to be worrying much about this. No LINQ to SQL though, so tough luck for you personally.

PostgreSQL is scalable and works OK with Home windows (earlier versions did not support Home windows formally), and pgAdmin is a great management tool for this, you'll have the ability to do the majority of the stuff that you can do with SQL Server's GUI tools by using it very quickly.

Why don't you begin with SQL Server Express and migrate if you have the cash? That method for you to move toward how you feel ideal and lower conversion costs.

Should you opt for PostgreSQL you will not have the ability to use LINQ to SQL. Presently LINQ is only for SQL Server (possibly Oracle). I am unsure about NHibernate. Also, if you are using PostgreSQL, before I checked, they'd dropped home windows support. So you will be considering getting another box running Linux for that DB.

[EDIT]

It works out PostgreSQL is supported on home windows. I can not recall where I saw support being cancelled. Anyway, I have heard it runs better on Linux anyway, so you might like to consider doing that regardless.

I do not believe it is an awful idea, but an excellent experience.

Incidentally NHibernate is what you want Linq to Nhibernate is under heavy development and obtainable in a corner if you do care "that we don't care" about Linq you shouldn't be scare for doing things.