What are the technical limits of Firebird?
Here they are:
Maximum size of database: unlimited with Firebird 2 (using multiple files), 32TB with FB 1.x
Maximum size of one file: 16TB or more, depends on the filesystem used
Maximum number of tables: 32k Tables
Maximum size of one table: 32TB (~30GB for Firebird 1.x)
Maximum number of rows per table: 16G (4G with Firebird 1.x)
Filesystem limits apply for all those values, so please read FAQ #59 for details.
Maximum row size: 64k
Maximum number of columns per table: Depends on the datatypes you use. (Example: 16,384 INTEGER (4 byte) values per row.) Blobs only store BLOB_ID and the data is stored separately.
Maximum number of indexes per table: around 850 indexes (root index page limit)
Maximum number of indexes per database: 4G indexes
Number of indexes depends on the page size and datatypes used.
Datatypes:
Char and Varchar: 32767 bytes
Smallint: 16 bits
Integer: 32 bits
BigInt: 64 bits
Float: 32 bits, 3.4x10^-38 to 3.4x10^38, 7 digit precision
Double: 64 bits, 1.7x10^-308 to 1.7x10^308, 15 digit precision
Timestamp: 64 bits, 1 Jan 100 to 28 Feb 32768.
Date: 32 bits, 1 Jan 100. to 29 Feb 32768.
Time: 32 bits, 00:00 to 23:59.9999
Blob: 32GB
Numeric and Decimal are internally stored as smallint, integer or bigint depending on the size. They can handle up to 18 digits.
The Firebird FAQ