PostgreSQL(Pgsql)快速開始/ ubuntu、centos下PostgreSQL數(shù)據(jù)庫安裝配置/查看已經(jīng)編譯的pg 編譯選項
PostgreSQL: The World’s Most Advanced Open Source Relational Database
PostgreSQL:世界上最先進的開源關(guān)系數(shù)據(jù)庫
PostgreSQL標(biāo)榜自己是世界上最先進的開源數(shù)據(jù)庫。PostgreSQL的一些粉絲說它能與Oracle相媲美,而且沒有那么昂貴的價格和傲慢的客服。最初是1985年在加利福尼亞大學(xué)伯克利分校開發(fā)的,作為Ingres數(shù)據(jù)庫的后繼。PostgreSQL是完全由社區(qū)驅(qū)動的開源項目。它提供了單個完整功能的版本,而不像MySQL那樣提供了多個不同的社區(qū)版、商業(yè)版與企業(yè)版。PostgreSQL基于自由的BSD/MIT許可,組織可以使用、復(fù)制、修改和重新分發(fā)代碼,只需要提供一個版權(quán)聲明即可。
PostgreSQL則是誕生于加州伯克利,伯克利還是對計算機技術(shù)有過突出貢獻的高校的,PostgreSQL、FreeBSD都是非常有代表性的。
1. Pgsql和Mysql的對比
【干貨總結(jié)】:可能是史上最全的MySQL和PGSQL的對比材料
參考URL:https://www.cnblogs.com/lyhabc/p/11628042.html
MySQL與PostgreSQL全方位對比
參考URL: https://baijiahao.baidu.com/s?id=1669655888792593702&wfr=spider&for=pc
MySQL與PostgreSQL對比
參考URL: https://blog.csdn.net/uniquewonderq/article/details/87648717
Pgsql和Mysql的對比
參考URL: https://blog.csdn.net/weixin_45528849/article/details/109021353
**MySQL的背后是一個成熟的商業(yè)公司,而PostgreSQL的背后是一個龐大的志愿開發(fā)組。這使得MySQL的開發(fā)過程更為慎重,而PostgreSQL的反應(yīng)更為迅速。**這樣的兩種背景直接導(dǎo)致了各自固有的優(yōu)點和缺點。
PGSQL
只有社區(qū)版,沒有其他任何分支版本,PGSQL官方統(tǒng)一開發(fā),統(tǒng)一維護,社區(qū)版有所有功能,不像SQL Server和MySQL有標(biāo)準(zhǔn)版、企業(yè)版、經(jīng)典版、社區(qū)版、開發(fā)版、web版之分
國內(nèi)外還有一些基于PGSQL做二次開發(fā)的數(shù)據(jù)庫廠商,例如:Enterprise DB、瀚高數(shù)據(jù)庫等等,當(dāng)然這些只是二次開發(fā)并不算獨立分支
MySQL是C/C++混合開發(fā),PostgreSQL則是完全的C語言開發(fā)。
大版本發(fā)布速度
PGSQL
PGSQL每年一個大版本發(fā)布,大版本發(fā)布的第二年就可以上生產(chǎn)環(huán)境,版本迭代速度很快
PGSQL 9.6正式版推出時間:2016年
PGSQL 10 正式版推出時間:2017年
PGSQL 11 正式版推出時間:2018年
PGSQL 12 正式版推出時間:2019年 (目前(2021-1),比較常用該版本,ubuntu20.4 默認(rèn)安裝的 是postgresql-12)
MySQL
MySQL的大版本發(fā)布一般是2年~3年,一般大版本發(fā)布后的第二年才可以上生產(chǎn)環(huán)境,避免有坑,版本發(fā)布速度比較慢
MySQL5.5正式版推出時間:2010年
MySQL5.6正式版推出時間:2013年
MySQL5.7正式版推出時間:2015年
MySQL8.0正式版推出時間:2018年
CPU限制
GSQL
沒有CPU核心數(shù)限制,有多少CPU核就用多少
MySQL
能用128核CPU,超過128核用不上
第三方工具依賴情況
PGSQL
只有高可用集群需要依靠第三方中間件,例如:patroni+etcd、repmgr
MySQL
大部分操作都要依靠percona公司的第三方工具(percona-toolkit,XtraBackup),工具命令太多,學(xué)習(xí)成本高,高可用集群也需要第三方中間件,官方MGR集群還沒成熟
高可用主從復(fù)制底層原理
PGSQL
物理流復(fù)制,屬于物理復(fù)制,跟SQL Server鏡像/AlwaysOn一樣,嚴(yán)格一致,沒有任何可能導(dǎo)致不一致,性能和可靠性上,物理復(fù)制完勝邏輯復(fù)制,維護簡單
MySQL
主從復(fù)制,屬于邏輯復(fù)制,(sql_log_bin、binlog_format等參數(shù)設(shè)置不正確都會導(dǎo)致主從不一致)
大事務(wù)并行復(fù)制效率低,對于重要業(yè)務(wù),需要依賴 percona-toolkit的pt-table-checksum和pt-table-sync工具定期比較和修復(fù)主從一致
主從復(fù)制出錯嚴(yán)重時候需要重搭主從MySQL的邏輯復(fù)制并不阻止兩個不一致的數(shù)據(jù)庫建立復(fù)制關(guān)系
數(shù)據(jù)類型
PostgreSQL支持多種高級數(shù)據(jù)類型,比如array,用戶也可以定義類型,MySQL只支持標(biāo)準(zhǔn)類型。PostgreSQL支持布爾型,支持IP地址數(shù)據(jù)類型,支持常量和函數(shù)調(diào)用。PostgreSQL支持JSON和其他NoSQL功能,本機支持XML,允許索引JSON數(shù)據(jù),MySQL支持JSON,不過不支持其他的NoSQL功能。PostgreSQL的對象統(tǒng)計功能也很強,這一點MySQL也有差距。
線程
PostgreSQL是多進程、MySQL是多線程。PostgreSQL支持大多數(shù)命令類型上觸發(fā)的觸發(fā)器。MySQL是異步復(fù)制,PostgreSQL支持同步、異步、半同步復(fù)制。PostgreSQL要求所有數(shù)據(jù)必須完全滿足需求,只要出一個錯誤整個數(shù)據(jù)入庫過程都要失敗,不過MySQL沒這樣的問題。
參考
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。