NHibernate нормально работает с PostgreSQL (независимо от того, находится ли база данных в Windows или UNIX-подобных ОС), и .NET хорошо работает с ним, используя провайдер базы данных Npgsql.
Единственная «неприятность», которую вы получите, конечно, PostgreSQL не поддерживает T-SQL. На самом деле его язык хранимых процедур PL / pgSQL ближе к PL / SQL Oracle, чем к T-SQL MS SQL Server. Таким образом, вам придется перекодировать ваши хранимые процессы, и у вас будет несколько проблем, на которые стоит обратить внимание, если вы сделаете ADO.NET. Если вы используете NHibernate, вам, вероятно, не придется беспокоиться об этом. Нет LINQ to SQL, так что вам жаль.
PostgreSQL является масштабируемым и теперь работает нормально с Windows (более ранние версии не поддерживали Windows формально), и pgAdmin - хороший инструмент для управления, вы сможете делать большую часть того, что вы можете делать с SQL Server. Инструменты GUI с ним в короткие сроки.