PostgreSQL数据库从入门到精通
基本了解:
PostgreSQL:是以加州大學(xué)伯克利分校計(jì)算機(jī)系開(kāi)發(fā)的 POSTGRES,現(xiàn)在已經(jīng)更名為PostgreSQL,版本 4.2為基礎(chǔ)的對(duì)象關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(ORDBMS)。PostgreSQL支持大部分 SQL標(biāo)準(zhǔn)并且提供了許多其他現(xiàn)代特性:復(fù)雜查詢、外鍵、觸發(fā)器、視圖、事務(wù)完整性、MVCC。同樣,PostgreSQL 可以用許多方法擴(kuò)展,比如, 通過(guò)增加新的數(shù)據(jù)類型、函數(shù)、操作符、聚集函數(shù)、索引。免費(fèi)使用、修改、和分發(fā) PostgreSQL,不管是私用、商用、還是學(xué)術(shù)研究使用。
特點(diǎn)與優(yōu)勢(shì):
PostgreSQL 是一個(gè)自由的對(duì)象-關(guān)系數(shù)據(jù)庫(kù)服務(wù)器(數(shù)據(jù)庫(kù)管理系統(tǒng)),它在靈活的 BSD-風(fēng)格許可證下發(fā)行。它提供了相對(duì)其他開(kāi)放源代碼數(shù)據(jù)庫(kù)系統(tǒng)(比如 MySQL 和 Firebird),和專有系統(tǒng)(比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server)之外的另一種選擇。
PostgreSQL 不尋常的名字導(dǎo)致一些讀者停下來(lái)嘗試拼讀它,特別是那些把SQL拼讀為"sequel"的人。PostgreSQL 開(kāi)發(fā)者把它拼讀為 "post-gress-Q-L"。它也經(jīng)常被簡(jiǎn)略念為 "postgres"。
事實(shí)上, PostgreSQL 的特性覆蓋了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以說(shuō)是目前世界上最豐富的數(shù)據(jù)類型的支持,其中有些數(shù)據(jù)類型可以說(shuō)連商業(yè)數(shù)據(jù)庫(kù)都不具備, 比如 IP 類型和幾何類型等;其次,PostgreSQL 是全功能的自由軟件數(shù)據(jù)庫(kù),很長(zhǎng)時(shí)間以來(lái),PostgreSQL 是唯一支持事務(wù)、子查詢、多版本并行控制系統(tǒng)(MVCC)、數(shù)據(jù)完整性檢查等特性的唯一的一種自由軟件的數(shù)據(jù)庫(kù)管理系統(tǒng)。 Inprise 的 InterBase 以及SAP等廠商將其原先專有軟件開(kāi)放為自由軟件之后才打破了這個(gè)唯一。最后,PostgreSQL擁有一支非常活躍的開(kāi)發(fā)隊(duì)伍,而且在許多黑客的努力下,PostgreSQL 的質(zhì)量日益提高。
從技術(shù)角度來(lái)講,PostgreSQL 采用的是比較經(jīng)典的C/S(client/server)結(jié)構(gòu),也就是一個(gè)客戶端對(duì)應(yīng)一個(gè)服務(wù)器端守護(hù)進(jìn)程的模式,這個(gè)守護(hù)進(jìn)程分析客戶端來(lái)的查詢請(qǐng)求,生成規(guī)劃樹(shù),進(jìn)行數(shù)據(jù)檢索并最終把結(jié)果格式化輸出后返回給客戶端。為了便于客戶端的程序的編寫(xiě),由數(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)也可以說(shuō)是 PostgreSQL 一大優(yōu)點(diǎn)。
架構(gòu):
PostgreSQL強(qiáng)壯的一個(gè)原因源于它的架構(gòu)。和商業(yè)數(shù)據(jù)庫(kù)一樣,PostgreSQL可以用于C/S(客戶/服務(wù)器)環(huán)境。這對(duì)于用戶和開(kāi)發(fā)人員有很多好處。
PostgreSQL安裝核心是數(shù)據(jù)庫(kù)服務(wù)端進(jìn)程。它允許在一個(gè)獨(dú)立服務(wù)器上。需要訪問(wèn)存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)的應(yīng)用程序必須通過(guò)數(shù)據(jù)庫(kù)進(jìn)程。這些客戶端程序無(wú)法直接訪問(wèn)數(shù)據(jù),即使它們和服務(wù)程序在同一臺(tái)機(jī)器上。
教學(xué)課程:PostgreSQL數(shù)據(jù)庫(kù)學(xué)習(xí)入門課程
(講師:周正中(德哥),PostgreSQL中國(guó)用戶會(huì)創(chuàng)始人之一,阿里云高級(jí)技術(shù)專家)
更多精品課程點(diǎn)擊:阿里云大學(xué)
總結(jié)
以上是生活随笔為你收集整理的PostgreSQL数据库从入门到精通的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: FishC笔记—26 讲 字典:当索引不
- 下一篇: mysql 中电话号码_类型-电话号码和