Join Firebird!

Join Firebird Foundation to support Firebird SQL development and receive multiple bonuses

Follow Us

Select your media preference

Newsletter

Subscribe to Firebird’s Newsletter to receive the latest news

Firebird Technical Specifications
Updated March 31, 2015.

Database Limits

Item Actual for Firebird 2.5
Maximum size of database 32 TB
Maximum number of tables 32,768
Maximum size of one table ~18 TB
Maximum size of external table file Unlimited
Maximum number of rows per table > 2^40
Maximum row size 64 KB
Maximum database page size 16 KB
NOTE: Page size (PAGE_SIZE) can be 4096, 8192 or 16384.
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 A few hundreds. Depends on the database page size and index types (single-segment or compound).
Maximum size (total width) of index key 4 KB
Maximum number of indexes per database Unlimited

Data Type Specifics

Name Size Range/Precision Description
Varchar(n) n chars 1 to 32765 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)
BigInt 64 bits -2^63 to 2^63-1 Signed long long (quadword)
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

Updated March 31, 2015.

Database Limits

  • Item: Maximum size of database
  • Actual for Firebird 2.5: 32 TB
  • Item: Maximum number of tables
  • Actual for Firebird 2.5: 32,768
  • Item: Maximum size of one table
  • Actual for Firebird 2.5: ~18 TB
  • Item: Maximum size of external table file
  • Actual for Firebird 2.5: Unlimited
  • Item: Maximum number of rows per table
  • Actual for Firebird 2.5: > 2^40
  • Item: Maximum row size
  • Actual for Firebird 2.5: 64 KB
  • Item: Maximum database page size
  • Actual for Firebird 2.5: 16 KB
  • Item: NOTE: Page size (PAGE_SIZE) can be 4096, 8192 or 16384.
  • Actual for Firebird 2.5:
  • Item: Maximum number of columns per table
  • Actual for Firebird 2.5: Depends on data types used. (Example: 16,384 INTEGER (4-byte) values per row.)
  • Item: NOTE: 8-byte ID is stored for each BLOB or ARRAY reference; size of BLOB or ARRAY data is not counted in row size.
  • Actual for Firebird 2.5:
  • Item: Maximum number of indexes per table
  • Actual for Firebird 2.5: A few hundreds. Depends on the database page size and index types (single-segment or compound).
  • Item: Maximum size (total width) of index key
  • Actual for Firebird 2.5: 4 KB
  • Item: Maximum number of indexes per database
  • Actual for Firebird 2.5: Unlimited

Data Type Specifics

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