Contact Us | Site Map
Firebird is used by approximately 1 million of software developers worldwide. High compatibility with industry standards on many fronts makes Firebird the obvious choice for developing interoperable applications for homogeneous and hybrid environments.
Join Firebird!
Join Firebird Foundation to support Firebird SQL development and receive multiple bonuses
Follow Us
Select your media preference
Google+ Twitter Facebook RSS
Newsletter
Subscribe to Firebird’s Newsletter to receive the latest news
Firebird Technical Specifications
Updated July 16, 2007 and subject to review.

Database Limits

Item Firebird 2.x Firebird 1.5.x
Maximum size of database Practically unlimited using multiple database files (largest known database is over 980 GB) 32 TB using multiple files
Maximum size of one database file Multiple terabytes on most platforms; limited by file systems (4 GB or 2 GB on some platforms) Same
Maximum number of database files 64,535 Same
Maximum number of tables 64,535 Same
Maximum size of one table ~32 TB ~36 GB
Maximum size of external table file 2 GB Same
Maximum number of rows per table > 16 Billion (not been measured beyond this) ~4 Billion
NOTE: 1 Billion is 1024³
Maximum row size 65,536 bytes (64 KB) Same
Maximum database page size 16 KB Same
NOTE: Page size (PAGE_SIZE) can be 1024, 2048, 4096, 8192 or 16384. Size 1024 is not recommended.
Maximum number of columns per table Depends on data types used. (Example: 16,384 INTEGER (4-byte) values per row.)
NOTE: 8-byte ID is stored for each BLOB or ARRAY reference; size of BLOB or ARRAY data is not counted in row size.
Maximum number of indexes per table 65,535 Same
Maximum size (total width) of index key 4,096 bytes when page size is 16 KB (limited to 1/4 of database page size) 252 bytes
IMPORTANT: Limit decreases for character columns when character set is multi-byte; non-binary collation further reduces limit.
Maximum number of indexes per database 4,398,046,511,104 Same

Data Type Specifics

Name Size Range/Precision Description
Varchar(n) n chars 1 to 32767 bytes Variable length char or text string. NB, multi-byte character sets reduce number of possible characters proportionately
Smallint 16 bits -2^15 to 2^15-1 Signed short (word)
Integer 32 bits -2^31 to 2^31-1 Signed long (longword)
Float 32 bits 3.4 x 10^-38 to 3.4 x 10^38 Accurate to 7 digits
Double Precision 64 bits 1.7 x 10^-308 to 1.7 x 10^308 Accurate to 15 digits
Timestamp  64 bits
(2 X 32 bits)
1 Jan 100 CE to 28 Feb 32768 CE Includes time and date as two 32-bit structures
Date 32 bits 1 Jan 100 CE to 28 Feb 32768 CE Date only. Time part is not stored.
Time 32 bits 0:00 to 23:59.9999  
BLOB <32GB -- Stores data of variable indeterminate size
Numeric (precision, scale) Variable
(16, 32, or 64 bits)
specifies exactly precision digits of precision Example: Numeric(10,3) holds numbers accurately in the following format: ppppppp.sss
Decimal (precision, scale) Variable
(16, 32, or 64 bits)
specifies at least precision digits of precision Example: Decimal(10,3) holds numbers accurately in the following format: ppppppp.sss

Home About Firebird Documentation Downloads Community Support Development Case Studies Back to Top
This site and the pages contained within are Copyright © 2000-2014, Firebird Project. Firebird® is a registered trademark of Firebird Foundation Incorporated. Developed by DQ Team.