Firebird (資料庫)

Firebird，是一個跨平台的關係資料庫系統，目前能夠運行在Windows、linux和各種Unix作業系統上，源於Borland公司的InterBase 6.0，是一個完全非商業化的產品，但原始碼經過大規模重寫，使用C++開發。

## 特色

支援多版本並行控制（Multiversion Concurrency Control，MVCC）、預存程序（Stored Procedure）、觸發程序（Trigger）、自定義方法（User-defined function，專有名詞縮寫UDF）等商用資料庫行為程序。同時因為與interbase的血緣關係，部分interbase的GUI工具可以直接應用到Firebird開發中。

## 版本區分

Firebird提供三個伺服器環境版本，分別是超級伺服器版本（SuperServer）、標準伺服器版本（ClassicServer）與嵌入式版本（Embedded）：

超級伺服器版本（SuperServer）：支援多執行緒（Multithreading）模式，可以以背景Service模式執行。

標準伺服器版本（ClassicServer）：支援每個執行緒可以個別管理自己的資料庫，允許資料庫與伺服器不是儲存在同一台情境，適合用於多處理器環境。

嵌入式版本（Embedded）：針對嵌入式系統要求獨占程序設計版本，允許資料庫與伺服器在同一台運行情境。

## 歷史

### Firebird 1.0

2002年3月11日公開，初期支援Linux、Windows、Mac OS X版本，兩個月後公開Solaris、FreeBSD、HP-UX移植版本，以C語言為中心開發。

Firebird 1.0 發行歷史

版本｜發布日期｜重要改進

1.0｜2002年3月11日

1.0.1｜2002年7月1日

1.0.2｜2002年12月19日

1.0.3｜2003年6月3日

### Firebird 1.5

2004年2月23日公開，自此版本開始變更為C++為中心開發。支援SQL92陳述句（SQL-92）標準函式、SQL1999陳述句（SQL1999）的SAVEPOINT函式與明確鎖定（explicit locking）等。

Firebird 1.5 發行歷史

版本｜發布日期｜重要改進

1.5｜2004年2月23日

1.5.1｜2004年7月14日

1.5.2｜2004年12月26日

1.5.3｜2006年1月24日

1.5.4｜2007年2月8日

1.5.5｜2007年12月12日

1.5.6｜2009年10月8日

### Firebird 2.0

2006年11月12日公開，支援SQL2003陳述句（SQL2003）的MERGE函式。更新版本2.1開始支援64位元Windows環境、觸發式（Trigger）等。

Firebird 2.0 發行歷史

版本｜發布日期｜重要改進

2.0｜2006年11月12日

2.0.1｜2007年3月21日

2.0.2｜2007年8月27日

2.0.3｜2007年9月21日

2.0.4｜2008年4月28日

2.0.5｜2009年1月27日

2.0.6｜2010年7月22日

2.0.7｜2012年5月13日

### Firebird 2.1

2008年4月18日公開。

Firebird 2.1 發行歷史

版本｜發布日期｜重要改進

2.1｜2008年4月18日

2.1.1｜2008年7月16日

2.1.2｜2009年4月1日

2.1.3｜2009年9月8日

2.1.4｜2011年3月15日

2.1.5｜2012年6月23日

2.1.6｜2014年7月26日

2.1.7｜2014年12月5日

### Firebird 2.5

2010年10月4日公開。支援正規表示式（Regular Expression，專有名詞縮寫RE）等。

Firebird 2.5 發行歷史

版本｜發布日期｜重要改進

2.5｜2010年10月4日

2.5.1｜2011年10月4日

2.5.2｜2012年11月6日

2.5.3｜2014年7月17日

2.5.4｜2015年3月30日

2.5.5｜2015年11月18日

2.5.6｜2016年7月14日

2.5.7｜2017年2月17日

2.5.8｜2018年7月15日

2.5.9｜2019年6月24日

### Firebird 3.0

2016年4月19日公開。支援布林值（BOOLEAN）與自動遞增數值（IDENTITY）儲存規格。允許使用IPv6網際協定連線資料庫等。更新版本3.0.2起開始支援Android環境。

自該版本起不再提供Firebird 3.0之前舊版本資料庫相容（On Disk Structure，專有名詞縮寫ODS）。

舊版本｜最新版本｜未來版本

Firebird 3.0 發行歷史

版本｜發布日期｜重要改進

3.0 Beta 1｜2014年12月2日｜、官方版Firebird 3.0 Beta 1釋出

3.0 Beta 2｜2015年7月3日｜、官方版Firebird 3.0 Beta 2釋出

3.0 RC1｜2015年11月9日｜、官方版Firebird 3.0 RC 1釋出

3.0 RC2｜2016年3月3日｜、官方版Firebird 3.0 RC 2釋出

3.0｜2016年4月19日｜、官方版Firebird 3.0釋出

3.0.1｜2016年9月27日｜、穩定性更新

3.0.2｜2017年3月22日｜、穩定性更新、支援 Android 32位元版本

3.0.3｜2018年2月2日｜、穩定性更新

3.0.4｜2018年10月14日｜、穩定性更新

3.0.5｜2020年1月12日｜、穩定性更新

3.0.6｜2020年6月26日｜、穩定性更新

3.0.7｜2020年10月20日｜、穩定性更新

3.0.8｜2021年11月17日｜、穩定性更新、支援 Android 64位元版本

3.0.9｜2022年2月15日｜、穩定性更新

3.0.10｜2022年6月8日｜、穩定性更新、最後一個版本支援Mac OS X 32位元版本

3.0.11｜2023年8月4日｜、穩定性更新

### Firebird 4.0

2021年6月1日公開。支援128位元整數（INT128）儲存規格。上修浮動十進制（DECFLOAT）與十進制整數（DECIMAL）儲存精度規格等。

舊版本｜最新版本｜未來版本

Firebird 4.0 發行歷史

版本｜發布日期｜重要改進

4.0 Beta 1｜2019年2月20日｜、官方版Firebird 4.0 Beta 1釋出

4.0 Beta 2｜2020年5月14日｜、官方版Firebird 4.0 Beta 2釋出

4.0 RC1｜2021年2月1日｜、官方版Firebird 4.0 RC1釋出

4.0｜2021年6月1日｜、官方版Firebird 4.0釋出

4.0.1｜2021年12月22日｜、穩定性更新、新增PKCS 1.5 支援

4.0.2｜2022年8月11日｜、穩定性更新、新增對Apple M1通訊埠支援

4.0.3｜2023年8月4日｜、穩定性更新

4.0.4｜2023年11月8日｜、穩定性更新

### Firebird 5.0

2024年1月11日公開。

舊版本｜最新版本｜未來版本

Firebird 5.0 發行歷史

版本｜發布日期｜重要改進

5.0 Beta 1｜2023年3月27日｜、官方版Firebird 5.0 Beta 1釋出

5.0 RC1｜2023年9月29日｜、官方版Firebird 5.0 RC1釋出

5.0 RC2｜2023年12月18日｜、官方版Firebird 5.0 RC2釋出

5.0｜2024年1月11日｜、新增分析PSQL語法執行效能PSQL profiler語法

## 判斷資料庫所執行引擎版本

- Windows

執行command應用程式，然後執行下列查詢：

```dos
gstat [switches] database_name
```

例如安裝Firebird位於Program Files，資料庫檔案test.fdb位於分割區C，則執行下列查詢：

```dos
C:\PROGRA~1\Firebird\Firebird_5_0>gstat -h c:\test.fdb 
```

Command應用程式將會回傳以下訊息：

```dos
Database "c:\test.fdb"
Gstat execution time Wed Jun 19 19:02:46 2024

Database header page information:
Flags                   0
Generation              33
System Change Number    0
Page size               8192
ODS version             13.1
Oldest transaction      24
Oldest active           25
Oldest snapshot         25
Next transaction        26
Sequence number         0
Next attachment ID      5
Implementation          HW=AMD/Intel/x64 little-endian OS=Windows CC=MSVC
Shadow count            0
Page buffers            0
Next header page        0
Database dialect        3
Creation date           Jan 11, 2024 11:07:27
Attributes              force write

Variable header data:
Database GUID:  {2193572f-c8d2-404e-b779-08671a1309dd}
*END*

Gstat completion time Wed Jun 19 19:02:46 2024
```

回傳訊息當中的ODS version即為資料庫所執行引擎版本。

- Linux

執行Tux應用程式，然後執行下列查詢：

```dos
gstat database_name  [switches] 
```

例如安裝Firebird位於bin，資料庫檔案test.fdb位於根目錄，則執行下列查詢：

```dos
gstat test -h
```

Tux應用程式將會回傳以下訊息：

```XML
Database "/test.fdb"
Database header page information:

Flags              0
Checksum           0
Greeration         0
page size          0
ODS version        11.2
Oldest transection 0
Oldest actuive     0
Oldest snapshot    0
Next transection   0
Bumped transection 0
Sequence number    0
Next attachent ID  0
Implentation ID    0
Shadow count       0
Pager buffers      0
Next header page   0
Database diaect    0
Creation date      Jan 1, 2024 00:00:00
Attributes         force write

Variable header data:
Sweep interval: 0
*END*
```

回傳訊息當中的ODS version即為資料庫所執行引擎版本。

## GUI工具

<image>

- FlameRobin
- Database Master
- ibWebAdmin

## 外部連結

- Firebird - Relational Database for the New Millenium

## 基本資料

- 日語原文：Firebird
- 開發者：Firebird專案
- 程式語言：C++, C
- 作業系統：跨平台
- 類型：關聯式資料庫管理系統
- 平台：IA-32, x86-64, FreeBSD
- 許可協議： IPL, IDPL
- 發行日期：2000年