Postgres vs Firebird

Tedi picture Tedi · Oct 28, 2009 · Viewed 28.7k times · Source

I'm looking to use either Firebird or Postgres in my next development project ... largely because both are available under a BSD-like license.

I found a great comparison of the two database at http://web.archive.org/web/20100305134128/http://www.amsoftwaredesign.com/pg_vs_fb

But this comparison is a good 4+ years old and both databases have come a long ways since.

Does anyone mind updating the comparison table to be relevant for the current versions of both Firebird and Postgres ... or have a link to a site that does a good recent comparison between the two database?

Answer

otzi picture otzi · Apr 10, 2010

You have to choose technology like RDBMS not (only) on comparing list of features but on answering questions like these:

  • is it reliable enough for your needs?
  • does it suit all your needs?
  • what are perspectives/support/development/documentation?

For me FB is not a good choice. I can point two stories:

  • I wrote constraint on table. Users add some strings to table. After a while user is trying to add one more string, but FB complains on constraint. What's wrong? This new string is surely under constraint. Problem is in a last string that was added before it! That string was added some time ago, it was wrong, and so far it is in DB, and who knows how many wrong data are now in DB. Very bad. FB implements constraints in a wrong manner.
  • I wrote a Stored Procedure (SP). FB stored it in DB, FB can run it, and it works - select data as expected. No one warning. Then backup is done without errors. And only on restore FB complains that something is wrong with SP and ... what ... you have no restoreable backup copy now.

I can point two or three more but these are enough for me to say: no, FB is not my choice, it's not RDBMS, it's a toy.

And they have bad documentation. In fact there is no actual references with each release. When people ask in forums: what is a full list of functions in release XX? The standard answer is: take a list from last official Interbase release and add (remove) functions from all later releases's "release notes".

And they have strange support/development strategy. They are working on what are interesting for them, on deep technical issues, not on what are really critical or annoying for users.