私はいつでも MySQL よりも PostgreSQL を好みます。PostgreSQL には、SQL ステートメント (ウィンドウ関数、再帰的な共通テーブル式) に関するより多くの機能があり、制約とインデックス (部分インデックスおよび関数ベースのインデックスなど) のサポートが向上しています。
また、GPL ライセンスがいつ商用ライセンスを購入せざるを得なくなるのか、特に商用アプリケーションの場合はまだわかりません。これは、私が MySQL を避けるもう 1 つの理由です。ライセンスの状況は、私にはあまりにも不明確で漠然としています。
PostgreSQL は、読み取りステートメントと書き込みステートメントを負荷分散する真のクラスターが必要な環境でのセットアップがより複雑です。
高可用性 (つまり、メイン サーバーが停止したときに引き継ぐ予備サーバー) は、特に 9.x では、MySQL と同じくらい簡単です。
速度に関しては、おそらくそれらの間に大きな違いはありません。それらのいずれかが高速である可能性があり、いずれかが低速である可能性があります。それは、使用方法とワークロードの特性によって異なります (PostgreSQL は同時読み取りと書き込みが多いため高速に見えますが、これは MySQL 5.5 と改善された InnoDB エンジンで変更された可能性があります)。
Firebird は SQL 機能の点でも非常に強力です (私の知る限り、再帰的な共通テーブル式をサポートする最初のオープン ソース DBMS でした)。
Firebird に関する私の最大の懸念は、雑然としたドキュメントです。ライセンスの問題により、単一の大きなマニュアルはありませんが、オリジナルの Interbase マニュアルと各バージョンのリリース ノートのコレクションです。したがって、特定の構文を確認する必要がある場合は、Interbase のマニュアルから始めて、FB 1.5、FB 2.0、FB 2.1 のリリース ノートを確認してください。少し不器用ですが、チームはそれに取り組んでおり、ドキュメントは改善されています (まだ PostgreSQL または MySQL のマニュアルと一致しません)。
とにかく、私は ORM の大ファンではなく、Java しか使用していないため、.Net で PostgreSQL を使用したことはありません。だから私はそれについてコメントすることはできません