Subject Re: [ib-support] Features and Comparisons to PostgreSQL
Author Daniel Rail
> Hi all,

> I have recently been considering Firebird. Is there any comprehensive
> comparison between Firebird and PosgreSQL? I found the following
> links:

> http://www.dbexperts.net/documentation/comparison
> http://www.geocities.com/mailsoftware42/db/

> Firebird is not compared very favorably in these two links, probably
> because it is not as well known as PostgreSQL. The second link even
> has many unknowns(?) in the column for Fb features. This is why I
> thought it better to ask this ng.

> Could somebody enlighten me if Fb has support for the following:
> 1. Concurrent Transactions
If this means more than one transaction per connection, then yes.
But, if this means a transaction within another one, then no. FB 1.5
will support SAVE POINTS which is part of SQL-99.
> 2. SQL ANSI 99
It's in the process. The developers are looking at following SQL-99
in further developments.
> 3. ODBC access (The first link suggests that it is not free for Fb)
There are some open source ODBC and OLE-DB drivers, look on
www.ibphoenix.com
> 4. Unicode support
Yes it does. The only place where it's not fully supported and it's
when creating your WHERE clause, Firebird has a hard time coping with
the special characters in the search string. Other than that, it
works.
> 5. Schemas
> 6. Online backups
Yes.
> 7. Cancel a query asynchronously
> 8. Boolean field
It's being talked about and a possibility for FB 1.5(I can't say for
sure)
> 9. unlimited row size (if not what is the maximum with v1.5/2.0)
No. The row size limit is 32767 bytes. I find it to be more than
enough. Also, the BLOBs are stored outside of the row, so one could
say that the row size is unlimited by using BLOBs.
> 10. User defined types
FB has domains. But, if this means that the user could define a
datatype that is non-existent in FB, i.e. GUID, then no.
> 11. Full text indexing
No. But, can be implemented by third-party products. It's not a
feature that everybody uses.
> 12. Can functions written in other languages be used in Stored
> Procedures (via dll/lib)
Yes. These are the User Defined Functions.
> 13. Functions for default value of columns
Not that I'm aware of.
> 14. Regular expression support
Yes. You use the LIKE in your WHERE clause.
> 15. EXPLAIN command
No. And, it's not a SQL-92 or SQL-99 keyword.
> 16. LIMIT keyword
FB has the FIRST keyword to limit the number of rows returns.
> 17. FETCH command
Yes.
> 18. Indexes on functions
Yes it's possible. You specify the position of the returned column in
your ORDER BY.

These were answered to the best of my knowledge.

Have a nice day.

Daniel Rail
Senior System Engineer
ACCRA Group Inc. (www.accra.ca)
ACCRA Med Software Inc. (www.accramed.ca)