軟件優(yōu)勢(shì)
PostgreSQL 可以說是最富特色的自由數(shù)據(jù)庫(kù)管理系統(tǒng),甚至我們也可以說是最強(qiáng)大的自由軟件數(shù)據(jù)庫(kù)管理系統(tǒng)。事實(shí)上, PostgreSQL 的特性覆蓋了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以說是目前世界上最豐富的數(shù)據(jù)類型的支持,其中有些數(shù)據(jù)類型可以說連商業(yè)數(shù)據(jù)庫(kù)都不具備, 比如 IP 類型和幾何類型等;其次,PostgreSQL 是全功能的自由軟件數(shù)據(jù)庫(kù),很長(zhǎng)時(shí)間以來,PostgreSQL 是唯一支持事務(wù)、子查詢、多版本并行控制系統(tǒng)、數(shù)據(jù)完整性檢查等特性的唯一的一種自由軟件的數(shù)據(jù)庫(kù)管理系統(tǒng)。直到最近才有 Inprise 的 InterBase 以及 SAP 等廠商將其原先專有軟件開放為自由軟件之后才打破了這個(gè)唯一。最后,PostgreSQL擁有一支非?;钴S的開發(fā)隊(duì)伍,目前的提交人員已經(jīng)超過三十人, 而且在許多黑客的努力下,PostgreSQL 的質(zhì)量日益提高,也從另外一個(gè)側(cè)面上增加了人們使用 PostgreSQL 的信心,畢竟數(shù)據(jù)庫(kù)管理系統(tǒng)不能象桌面操作系統(tǒng)那樣 一天宕一次還讓人覺得挺滿意 :-P。 從技術(shù)角度來講,PostgreSQL 采用的是比較經(jīng)典的 C/S (client/server)結(jié)構(gòu),也就是一個(gè)客戶端對(duì)應(yīng)一個(gè)服務(wù)器端守護(hù)進(jìn)程的模式, 這個(gè)守護(hù)進(jìn)程分析客戶端來的查詢請(qǐng)求,生成規(guī)劃樹,進(jìn)行數(shù)據(jù)檢索并最終把結(jié)果格式化輸出后返回給客戶端。為了便于客戶端的程序的編寫, 由數(shù)據(jù)庫(kù)服務(wù)器提供了統(tǒng)一的客戶端 C 接口。而不同的客戶端接口都是源自這個(gè) C 接口,比如 ODBC,JDBC,Python,Perl ,Tcl,C/C++,ESQL 等, 同時(shí)也要指出的是,PostgreSQL 對(duì)接口的支持也是非常豐富的,幾乎支持所有類型的數(shù)據(jù)庫(kù)客戶端接口。這一點(diǎn)也可以說是 PostgreSQL 一大優(yōu)點(diǎn)。