BrianKE BrianKE - 21 days ago 11
SQL Question

SQL Server 2008 r2 or PostgreSQL

I am rewriting an application for my company which requires a database. We are currently using SQL Server 8 and I will be updating the database. My question is which database to use. I have been looking at both SQL Server 2008 r2 and PostgreSQL 9.

The database will be hosted on a Windows Server 2008 box and will be used for both the stand-alone app and an associated website written in .NET.

Some of my points of concern are:


  1. Cost (obviously PostgreSQL wins out here).

  2. Is it ready for primetime? I have read somethings about it being as good as SQL but would like some input from those using it.

  3. Ease of use. I am very comfortable with SQL Server. I have been experimenting with PostgreSQL and while it is different than SQL Server I am getting the hang of it.

  4. Speed. Is PostgreSQL as fast as SQL Server?

  5. Can I use ADO.NET (.NET 4.0) with PostgreSQL and get the same functionality as Using SQL Server (will be using Linq or Entity Framework)?



I will NOT be converting our old database in SQL Server 8 to the new database so I am not concerned with any conversion.

I would be interested in peoples opinion of the two and if PostgreSQL is an acceptable solution for a business application given the above.

TIA

Brian

Answer

This really depends on your DB size and your comfort zone.

SQL Server Express edition is a fully functional free database up to 4GB in size; perfectly adequate for most small to mid-sized apps. (aside - IMHO, MS Licensing was the best thing ever to happen to the open source community!!)

PostgreSQL is a fully functional, free database w/o the 4Gb limitation - however, PostgreSQL follows the Oracle style of SQL and database management. If you're not familiar with that, you can run into some gotchas.

Throwing Dot Net into the mix adds a not insignificant wrinkle. Can you use .Net with PostgreSQL? Yes, but Dot Net will work better with SQL Server. Are you comfortable writing complex ODBC interface code? If yes, PostgreSQL remains a contender. If not, you'll be better off with SQL Server.