开源的数据库,PostgreSQL 基础入门实战
PostgreSQL 簡(jiǎn)介與安裝
實(shí)驗(yàn)介紹
大家好,本課程是關(guān)于 PostgreSQL 數(shù)據(jù)庫(kù)的使用說(shuō)明,細(xì)致講解 PostgreSQL 的特性與使用方法,盡量做到描述樸實(shí)、深入淺出、示例充足、覆蓋重點(diǎn)。
由于同類(lèi)型的數(shù)據(jù)庫(kù) MySQL 的使用量遠(yuǎn)大于 PostgreSQL ,以至于大家都知道 MySQL 并且掌握它的基本用法。在我們的課程中,會(huì)出現(xiàn)一些二者的比較說(shuō)明。
按照慣例,第一節(jié)實(shí)驗(yàn)是 PostgreSQL 的簡(jiǎn)介與安裝。
知識(shí)點(diǎn)
- PostgreSQL 簡(jiǎn)介
- 在 Ubuntu 系統(tǒng)中安裝 PostgreSQL 數(shù)據(jù)庫(kù)
PostgreSQL 簡(jiǎn)介
PostgreSQL 是一個(gè)功能強(qiáng)大的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),用于安全地存儲(chǔ)數(shù)據(jù)。PostgreSQL 在某些地方被簡(jiǎn)稱(chēng)為 PG 。
所謂“功能強(qiáng)大”,就是優(yōu)點(diǎn)很多:
- 支持超多種類(lèi)的數(shù)據(jù)類(lèi)型,數(shù)量在開(kāi)源數(shù)據(jù)庫(kù)里是第 1 名
- 可以在 Windows 、FreeBSD 、Linux 、macOS 等主流操作系統(tǒng)中運(yùn)行
- 支持 SQL 子查詢(xún)、觸發(fā)器、視圖、事務(wù)多級(jí)隔離、多進(jìn)程并發(fā)控制
- 支持包括 C、C++、Java、Perl、Python、Ruby 在內(nèi)的多種語(yǔ)言的編程接口
所謂“開(kāi)源”,就是指 PostgreSQL 所有版本的源代碼均為公開(kāi)狀態(tài),供任何個(gè)人和組織免費(fèi)使用和修改。PostgreSQL 由全球志愿者團(tuán)隊(duì)開(kāi)發(fā),不受任何公司或其他私人實(shí)體控制。
所謂“關(guān)系型”,就是提供各種約束。
所謂“安全地存儲(chǔ)”,這涉及到兩層意思:一是數(shù)據(jù)持久化,這是大多數(shù)據(jù)庫(kù)的基本功能;二是熱備,PostgreSQL 采用物理復(fù)制,在保證主備數(shù)據(jù)一致上具有較高的可靠性。
關(guān)于 MySQL 與 PostgreSQL 有兩句標(biāo)語(yǔ):
- MySQL:世界上最受歡迎的數(shù)據(jù)庫(kù)
- PostgreSQL:世界上最先進(jìn)的數(shù)據(jù)庫(kù)
熱度排名
當(dāng)我們?cè)u(píng)判一些編程語(yǔ)言孰優(yōu)孰劣時(shí),當(dāng)我們爭(zhēng)辯一些框架性能高低時(shí),一個(gè)很好的論據(jù)就是熱度排名。
編程語(yǔ)言的數(shù)量幾百上千,如果一門(mén)編程語(yǔ)言五年進(jìn)不了 TIOBE 的前二十,誰(shuí)還好意思吹噓呢?當(dāng)然啦,所有的這些評(píng)判和爭(zhēng)辯的實(shí)際意義幾乎沒(méi)有,我們只是說(shuō)著玩兒。
盡管如此,我們還是可以用熱度排名佐證一門(mén)語(yǔ)言或一個(gè)框架的優(yōu)秀與否。熱度通常與用戶(hù)量呈正相關(guān)性。
對(duì)于數(shù)據(jù)庫(kù)的熱度排名,就像 TIOBE 一樣,也有一個(gè)叫做?DB Engines?的網(wǎng)站。
截止 2020 年 6 月底,排名前十的數(shù)據(jù)庫(kù)熱度表格如下:
如上表所示,前五基本是穩(wěn)定的,熱度在 400+ ,后面的幾個(gè)熱度差距很小。PostgreSQL 排名第四,且與前三名的差距極大,沖擊前三的可能性微乎其微。所以它無(wú)法擁有 MySQL 的 Popular 標(biāo)簽。
排名第 5 的 MongoDB 是熱度最高的非關(guān)系型數(shù)據(jù)庫(kù)。如果告訴你 PostgreSQL 在 9.2 版本中加入了 JSON 數(shù)據(jù)類(lèi)型以支持 NoSQL 數(shù)據(jù)存儲(chǔ)功能,且在性能上甚至優(yōu)于 MongoDB ,是不是覺(jué)得 PostgreSQL 也有點(diǎn)兒能打了呢?
此外還可以在網(wǎng)站中查看數(shù)據(jù)庫(kù)的趨勢(shì)圖,可以看到近些年具有明顯增長(zhǎng)趨勢(shì)的也就是 PostgreSQL 和 MongoDB 了:
其它介紹
PostgreSQL 在用戶(hù)量上占比較少,且國(guó)內(nèi)尤甚,這使得很多同學(xué)都只是聽(tīng)說(shuō)過(guò) PostgreSQL 卻并未接觸。
PostgreSQL 起源于出鏡率極高的美國(guó)加州大學(xué)伯克利分校。由于貢獻(xiàn)者來(lái)自五湖四海,現(xiàn)已成為一個(gè)國(guó)際開(kāi)發(fā)項(xiàng)目,在海外擁有大量用戶(hù),國(guó)內(nèi)的企業(yè)級(jí)用戶(hù)也開(kāi)始逐漸增多。PostgreSQL 的功能之強(qiáng)大、特性之豐富和結(jié)構(gòu)之復(fù)雜都算得上開(kāi)源數(shù)據(jù)庫(kù)之最了。
MySQL 號(hào)稱(chēng)是使用最廣泛的開(kāi)源數(shù)據(jù)庫(kù),而 PG 則被稱(chēng)為功能最強(qiáng)大的開(kāi)源數(shù)據(jù)庫(kù)。
PostgreSQL 是一個(gè)自由的關(guān)系型數(shù)據(jù)庫(kù)服務(wù)器,在靈活的 BSD 風(fēng)格許可證下發(fā)行。PostgreSQL 的特性覆蓋了 SQL-2/SQL-92 和 SQL-3/SQL-99。PostgreSQL 提供了目前世界上最豐富的數(shù)據(jù)類(lèi)型的支持,其中有些數(shù)據(jù)類(lèi)型連商業(yè)數(shù)據(jù)庫(kù)都不具備, 例如 IP 類(lèi)型和幾何類(lèi)型等。PostgreSQL 是全功能的自由軟件數(shù)據(jù)庫(kù),也是史上第一款支持事務(wù)、子查詢(xún)、多版本并行控制系統(tǒng)(MVCC)、數(shù)據(jù)完整性檢查等特性的數(shù)據(jù)庫(kù)管理系統(tǒng)。PostgreSQL 擁有一支非常活躍的開(kāi)發(fā)隊(duì)伍,而且在許多黑客的努力下,PostgreSQL 的質(zhì)量日益提高。
篇幅有限,完整課程請(qǐng)移步至《PostgreSQL?基礎(chǔ)入門(mén)實(shí)戰(zhàn)》,你將學(xué)到:
快來(lái) get√ 新課吧!
總結(jié)
以上是生活随笔為你收集整理的开源的数据库,PostgreSQL 基础入门实战的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 刚学会 HTML5 不久,最近用 CSS
- 下一篇: linux cmake编译源码,linu