views:

1550

answers:

17

I am trying to choose between postgre and firebird databasses. The database will be installed on a windows 2003 server with asp.net 3.5. i don't want to use sql server because of price issues and I don't want MySQL I had a bad experience with it and the .net connector and the membership provider.

A: 

Why don't you try SQL Express a scaled down version of SQL from Microsoft which is free to use.

msvcyc
Possibly for other licensing reasons as well, such as built in limitations to the physical hardware: http://www.microsoft.com/Sqlserver/2005/en/us/compare-features.aspx (2005) or http://www.microsoft.com/sqlserver/2008/en/us/editions-compare.aspx (2008)
Zhaph - Ben Duguid
+6  A: 

I've always been impressed with Postgres; it's traditionally had a more complete feature set (in terms of ACID compliance, support for advanced queries, etc.) than MySQL, it has solid Windows ODBC drivers, and its documentation scrupulously points out any areas in which it deviates from the SQL standard. (All databases, it seems, deviate in one respect or another, but Postgres is the only one I've seen that makes sure you know when you're doing so.) I haven't tried the usage scenario you describe, but I've had no problems running it on Linux and accessing it from both Windows ODBC and Linux clients.

I don't have any experience with Firebird; sorry.

Josh Kelley
+1 for `postgresql`. I've been using `firebird` and `interbase` and *in my opinion* after working with `postgresql` they're unbearable. The problem is that I can't come up with examples right away, so I tag it as a subjective (but not humble) opinion.
Michael Krelin - hacker
Is there a GUI available for windows? And will the ODBC driver be able to handle a large amount of traffic?
@luke101 http://www.sqlmaestro.com/ or http://www.sqlmanager.net/ exist for Postgresql (and also Firebird)
Hugues Van Landeghem
+1 I used PostgreSQL in a project some years ago and even back then it was really a positive experience. Very solid, good concurrency support (similar to Oracle). There were some gotchas but the major ones have been solved since then (autovacuum and native windows installer)
Gregory Mostizky
+2  A: 

We use Firebird since its birth. Actually we love this database :)

Andrei K.
Do I have to use odbc drivers with Firebird?
Douglas Tosi
Do you think firebird can take the same amount of traffic as wikipedia?
Surely, why not?
Andrei K.
+3  A: 

I love using Postgres - it's powerful, fast, reliable and extremely well documented. The PL/PgSQL language is about as powerful as you could conceivably require, and I can't think of a single serious problem I've ever encountered with it. Most problems tend to be user-created ones, and are resolved after digging through the documentation.

Provided you know a bit about "grown up" databases (i.e. not something like MS Access), or are prepared to learn, I'd wholeheartedly recommend Postgres.

Can't comment on Firebird because I haven't used it

monch1962
Would you recommend Postgres for windows?
I would. IME, Postgres works fine on Windows.
rwallace
+2  A: 

Firebird Rocks man, see this link Firebird Advantages over PostgreSQL

Mature Windows support. Firebird is supported on Windows for a very long time and it's well tested. PostgreSQL supports Windows natively since 8.0. Still only a few months...

Mature ADO.NET provider. Npqsql (PostgreSQL ADO.NET provider) is still in beta. Firebird ADO.NET provider supports the embedded Firebird, services API (backup, restore, statistics, batch SQL execution...).

Embedded version. Embedded version (with 2 MB runtime and easy switching to a standalone server) seems to be one of the biggest advantages of Firebird.

Windows 98 support. PostgreSQL runs natively only on Windows NT-based versions.

Licensing. LGPL (Npgsql is covered by LGPL) seems to be less commercial-friendly than IPL (at least it is a much less clear language).

The Firebird open source database server wins a SourceForge Community Choice Award (in the "Best Project for Enterprise" category).

Bye.

RRUZ
I don´t know how Windows 98 support is a point in favor of Firebird.
Luiz Damim
That's a pretty old web page... PostgreSQL has had native Windows support for over four years, Npqsql is out of beta and is actively developed, and the LGPL isn't as bad as it's made out to be. (Summary: Don't statically link LGPL'ed code. Make the LPGL'ed source available upon request. Don't change LPGL'ed source without publishing your changes.)
Josh Kelley
+1  A: 

As others have pointed out, PostgreSQL is very good in terms of features, speed and reliability. However, after having developed an enterprise .Net application in it, I have to say that it does not mesh with Visual Studio as easily as SQL Server. Aside from that, SQL Server vs PostgreSQL is a little like the Windows GUI vs the Linux shell: one is easy to use, but the other is much faster and more powerful, ONCE you get used to it.

Apparently you can't use LINQ via the ODBC driver, and if you're developing a system using sometimes connected mobile devices, you lose the option of automatic synchronization that you would otherwise have with SQL Server and SQL Server Compact.

dandan78
+2  A: 

They are both cool. However, one BIG advantage for Firebird is it's .net data provider. Good mature solution, vs buggy npgsql (or some paid Postgres drivers). So it it mostly to chose what db you are more familiar with or what are your developement team skills.

Both Postgres and Firebird are excellent databases.

smok1
Postgres is good, but Firebird is Great. ;)
RRUZ
Would you use firebird with a very large active website?
@luke101 - how big this website will be? 1k users? 1M users? And how many concurent users? I think the answer will be yes, unless you want to build enterprise-class system. In this case I would recommend Oracle (note: Firebird has some Oracle emulation).
smok1
I am hoping it will be the size of Yahoo Answers
So you would better start with Oracle (there is a free scaled down version), or design your database in such a manner, that during upgrade to "big" database you will be able to switch smoothly.
smok1
Of course if you realise, that one day you will switch to something bigger, it is really no matter what you choose at the beginning...
smok1
+7  A: 

I've been using Firebird for several years. Its been rock solid and I'm very happy with it. Excellent comprehensive documentation is available via Borrie's "The Firebird Book" & its updates. Awesome administration capabilities are available using IBexpert.

Mitch
Are there any books available for firebird?
smok1
+1 for Firebird and IBExpertFirebird and PostgreSQL are great database but I think IBExpert has no equivalent in PostgreSQL world. I test many others manager like Maestro or EMS which also exist for Postgresql but they have less features. Even personal edition is great :)
Hugues Van Landeghem
+1  A: 

I've been using Firebird for 8 years and it is really strong.

Check this link http://www.ib-aid.com/articles/item104 and see that Firebird is a pretty good database.

Postgres's .NET driver is not mature enougth, while firebird .net provider is even supporting entity framework!!

Does firebird support fulltext searching? I heard that it does not supper fulltext
http://www.firebirdfaq.org/faq328/
+1  A: 

We are using Firebird since 1.0v. It is stable, robust, many features out of the box and extremelly easy to install and mantain.

We develop using .Net and Delphi.

If you choosse FB, fell free to contact us if you need some tips.

Paulo Junqueira.

http://www.rt1.com.br

Paulo Junqueira
What do you think are some disadvantages of firebird?
+2  A: 

Firebird + FreeadhocUDFs + IBExpert, and just programming.

we have 2 systems in production for 6 years (20 domains, 200 tables, 50 views, 370 stored procedures, 600 triggers, 205 generators, 11, roles, etc, etc) and have been tested to migrate to PostgreSQL (only test, we love Firebird).

In tables with traditional data types (integer, varchar, date, numeric, etc, etc.) differences could be for one or the other, as appropriate, but in stored procedures, Firebird is much more powerful than Postgresql, much more simple and elegant.

Two or three years, any Linux distribution, not including Firebird, only Mysql and Postgresl. Not for nothing today, but tradicionesles distributions (ubunutu / opensuse / fedora / centos, etc, etc) and Firebird include in their repositories.

Postgresql do not say that is worse than Firebird, Firebird is not that much better than Postgresql. But without hesitation I say that Firebird has nothing to envy to Postgresql, and in many ways is more powerful.

(sorry for my bad english)

peponloqui
How did you learn firebird? Did you learn by reading books?
+6  A: 

I've been working with PostgreSQL, Firebird, Oracle, MySQL, MSSQL more than 6 years ago and my preferred are Firebird and PostgreSQL. I don't like MySQL because Commercial License is not cheap, and MySQL lacks of some functions. I you ask me about what is my preferred one between FB and Pg.... It varies about requirements and needs. I feel that Firebird works better when speed is a must. I've been working with very large databases environments and I have not had problems. PostgreSQL is better in web sites and internet applications developed in PHP, Python and Ruby, but I think that this will not be for much time. In the last months big companies are looking to FB as a very serious DB. I recommend you FB. Try it, give it a chance, you won't be disappointed.

robregonm
What learning material would you recommend? Do you know of any good books or online tutorials? Also, do you think firebird could handle the same amount of traffic of stackoverflow.com?
You can find big amount of results in Google (Search: Firebirdsql tutorial) and Wikipedia can help a lot (http://en.wikipedia.org/wiki/Firebird_%28database_server%29). I can tell you that Firebird can handle 1000 and more times the amount of traffic of stackoverflow.com and you won't concern about performance or speed.
robregonm
+2  A: 

Most of the features are the same on both however I recommend Firebird 1. FB - supports multiple collation within a table 2. FB - more choices on mature drivers to work with 3. FB - connection managed by either Thread or Process depend on your use/setup 4. FB - embedded support

Not recommend Stay away MS SQLExpress

A little Draw back 1. FB - blob handling is not so great if condition below are true but if you move blob column(s) into separated table, then no issue with blob a. massive data mining/manipulating b. blob column(s) is/are defined with other data columns

Do you think Firebird could handle the traffic of wikipedia?
+2  A: 

Firebird is wonderfull, solid, easy to maintain, install & small footprint (embedded version as well) The only drawback: you have to do a backup and restore to eliminate deleted records physically. So for a system that has to be 24/7/365 it is a huge limitation.it is not my case so no problemo.

PostgreSQL does not have that problem (but I have never used it). A friend runs an entire shipping company with millions of transactions on PostgreSQL with linux servers & java and he is very happy.But the maintenance is more heavy than firebird.

Besides if you use delphi, Firebird is better suited.

FB will reuse the space used by deleted records.
z8000
+4  A: 

Hi, I'm using firebird database since 1.0

I'm very happy with it

I'm using on windows and linux

Some time ago, I used to work with odbc. No problems and very easy

Easy instalation, very small maintenance, rocks

Dividing db in several files is an option, but I don't recomend you to do it

After server crashes (electric problem or full harddisk) the system continues working inmediatly without any maintenance

I have versión 2.1 on testing and 1.5 on production

I'm using flamerobin to manage both versions

Hellen's book is great to learn about firebird

I also tested and read about postgresql.

It looks a great db server

Since long time, they are using multigenerational records (as firebird before interbase before groton databases did since the begining)

On postgresql, now you need to vacued records (on firebird it is called sweep)

Someone told you it wasn't necesary on postgresql, but I don't thing so

postgresql has a better language. You can write your own funcions with this language (on firebird you have to write new functions on c, c++, etc...)

postgresql has more data types. In fact you have several of them. You also have full search.

On postgresql you also have regular expresions (I think in where, and therefore with sustitution options). This funcionality will be ready on firebird very soon

In any case, I'm very happy with firebird and it evolucion.

Postgresql and firebird are improving and diferences bettwen them are smaller

Many of the comments comparing firebird and postgresql are copied from... http://www.firebirdsql.org/dotnetfirebird/blog/2005/03/firebird-advantages-over-postgresql.html

this is an old comparation. I don't think postgresql driver on .net is not mature now

With firebird you cannot connect from one database to another (it will be possible in a short future)

Firebird is smaller and easer than postgresql, but it's also very good in performance, stability and low mantenaince

bye

me
A: 

Feature no 1 : Firebird required 0 Administration and is simpler to use than Postgresql (think of sqlite like easy of use with oracle/postgresql like features)

2.Firebird does have Embedded mode and is fully multi threaded in 2.5

3.And yes Firebird is fully multithreaded where Postgresql is NOT

so we are ahead in this area with at least 2 or more years

"All backends running as threads in a single process (not wanted) This eliminates the process protection we get from the current setup. Thread creation is usually the same overhead as process creation on modern systems, so it seems unwise to use a pure threaded model, and MySQL and DB2 have demonstrated that threads introduce as many issues as they solve. Threading specific operations such as I/O, seq scans, and connection management has been discussed and will probably be implemented to enable specific performance features. Moving to a threaded engine would also require halting all other work on PostgreSQL for one to two years."

I will update the post later with more features and links why does http://mapopa.blogspot.com/2010/10/where-firebird-is-better-than.html

Mariuz
A: 

My vote goes to Firebird, don't have any experience with Postgres

Mihai Popescu