Firebird (数据库)
Firebird,是一个跨平台的关系数据库系统,目前能够运行在Windows、linux和各种Unix操作系统上,源于Borland公司的InterBase 6.0,是一个完全非商业化的产品,但原始码经过大规模重写,使用C++开发。
开发者 | Firebird项目 |
---|---|
首次发布 | 2000年 |
当前版本 |
|
原始码库 | |
编程语言 | C++, C |
操作系统 | 跨平台 |
平台 | IA-32, x86-64, FreeBSD |
类型 | 关系数据库管理系统 |
许可协议 | IPL, IDPL |
网站 | www |
特色
支持多版本并发控制(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)[2]等。
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环境[3][4]、触发式(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
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)[5]等。
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)[6]。
旧版本 | 最新版本 | 未来版本 |
Firebird 3.0 发行历史 | |||||
---|---|---|---|---|---|
版本 | 发布日期 | 重要改进 | |||
3.0 Beta 1 | 2014年12月2日 |
| |||
3.0 Beta 2 | 2015年7月3日 |
| |||
3.0 RC1 | 2015年11月9日 |
| |||
3.0 RC2 | 2016年3月3日 |
| |||
3.0 | 2016年4月19日 |
| |||
3.0.1 | 2016年9月27日 |
| |||
3.0.2 | 2017年3月22日 |
| |||
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日 |
| |||
3.0.9 | 2022年2月15日 |
| |||
3.0.10 | 2022年6月8日 |
| |||
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日 |
| |||
4.0 Beta 2 | 2020年5月14日 |
| |||
4.0 RC1 | 2021年2月1日 |
| |||
4.0 | 2021年6月1日 |
| |||
4.0.1 | 2021年12月22日 | ||||
4.0.2 | 2022年8月11日 | ||||
4.0.3 | 2023年8月4日 |
| |||
4.0.4 | 2023年11月8日 |
|
Firebird 5.0
旧版本 | 最新版本 | 未来版本 |
Firebird 5.0 发行历史 | |||||
---|---|---|---|---|---|
版本 | 发布日期 | 重要改进 | |||
5.0 Beta 1 | 2023年3月27日 |
| |||
5.0 RC1 | 2023年9月29日 |
| |||
5.0 RC2 | 2023年12月18日 |
| |||
5.0 | 2024年1月11日 |
|
判断数据库所执行引擎版本
- Windows
执行command应用程式,然后执行下列查询:
gstat [switches] database_name
例如安装Firebird位于Program Files,数据库文件test.fdb位于分区C,则执行下列查询:
C:\PROGRA~1\Firebird\Firebird_5_0>gstat -h c:\test.fdb
Command应用程式将会回传以下消息:
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应用程式,然后执行下列查询:
gstat database_name [switches]
例如安装Firebird位于bin,数据库文件test.fdb位于根目录,则执行下列查询:
gstat test -h
Tux应用程式将会回传以下消息:
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工具
参考文献
- ^ Firebird 5.0.1. 2024年8月2日 [2024年8月4日].
- ^ Firebird 1.5.5 Release Notes. [29 September 2009]. (原始内容存档于2015-09-24). Firebird 1.5.5 General Notes for rewriting it from C to C++ language
- ^ Releases Firebird-win64. (页面存档备份,存于互联网档案馆) Sourceforge.net; abgerufen am 3. Mai 2011.
- ^ Releases Firebird-linux-amd64. (页面存档备份,存于互联网档案馆) Sourceforge.net; 3. May 2011.
- ^ Helen Borrie. Firebird 2.1 Release Notes. 20 July 2014 [20 July 2014]. (原始内容存档于2017-04-22).
- ^ Fast conversion of Firebird 2.5 databases to Firebird 3.0 (英语).
- ^ Firebird 3.0 Beta 1 is available (英语).
- ^ Firebird 3.0 Beta 2 is available (英语).
- ^ Firebird 3.0 Release Candidate 1 is available for testing (英语).
- ^ Firebird 3.0 Release Candidate 2 is available for testing (英语).
- ^ Firebird 3.0 is released (英语).
- ^ Firebird 3.0.1 Release: Bug Fixes (英语).
- ^ Firebird 3.0.2 Release: Bug Fixes (英语).
- ^ Firebird 3.0.3 Release: Bug Fixes (英语).
- ^ Firebird 3.0.4 Release: Bug Fixes (英语).
- ^ Firebird 3.0.5 Release: Bug Fixes (英语).
- ^ Firebird 3.0.6 Release: Bug Fixes (英语).
- ^ Firebird 3.0.7 Release: Bug Fixes (英语).
- ^ Firebird 3.0.8 Release: Bug Fixes (英语).
- ^ Firebird 3.0.9 Release: Bug Fixes (英语).
- ^ Firebird 3.0.10 Release: Bug Fixes (英语).
- ^ Firebird 3.0.11 Release: Bug Fixes (英语).
- ^ Firebird 4.0 Beta 1 release is available for testing (英语).
- ^ Firebird 4.0 Beta 2 release is available for testing (英语).
- ^ Firebird 4.0 Release Candidate 1 is available for testing (英语).
- ^ Firebird 4.0 is released (英语).
- ^ Firebird 4.0.1 Release: Bug Fixes (英语).
- ^ Firebird 4.0.2 Release: Bug Fixes (英语).
- ^ Firebird 4.0.3 Release: Bug Fixes (英语).
- ^ Firebird 4.0.4 Release: Bug Fixes (英语).
- ^ Firebird 5.0 Beta 1 release is available for testing (英语).
- ^ Firebird 5.0 Release Candidate 1 is available for testing (英语).
- ^ Firebird 5.0 Release Candidate 2 is available for testing (英语).
外部链接