什麼是 PostgreSQL 資料庫?

更新於 發佈於 閱讀時間約 3 分鐘
什麼是 PostgreSQL?
PostgreSQL是一個開源的關聯式資料庫管理系統(RDBMS),最初由加州大學柏克萊分校開發,當時稱為Postgres(Post INGRES)。它於1986年首次釋出,並在1996年正式更名為PostgreSQL。自那時以來,PostgreSQL經過持續的開發和改進,成為一個功能強大且廣受歡迎的資料庫解決方案。

跟其他家資料庫比起來具備哪些特色?

  • 開源和免費:PostgreSQL 是一個開源項目,發行版的使用許可與 BSD 和 MIT 類似,基本上,使用者可以針對原始碼做任何事,例如:改寫程式碼、轉售沒有原始碼的編譯程式。因為其開源、免費,讓有一些企業者、開發人員選擇用它,這樣子就不需要支付貴桑桑的 Lincense 費用。
  • 高度可擴展性:PostgreSQL 可以處理大量的數據和高併發進來的交易。那怎麼做到擴充的呢?第一,採用水平擴充,資料分散在不同的節點上,提高系統的容量和效能,並允許平行處理多個查詢,多半用在資料切片(Data Sharding)和資料複製(Data Replication)。第二,採用垂直擴充,那就是增加單一個節點的硬體資料,例如:擴充 CPU、記憶體、硬碟容量。以上兩種常見的手段,都是要燒錢錢的。
  • 支援標準 SQL:PostgreSQL 遵循 ANSI SQL 標準,提供了常見的 SQL 功能和語法,它也擴充了 SQL 的語法,自定義了一些函數。
  • 豐富的資料類型支援:PostgreSQL 還支援很多的高階資料類型,如陣列、JSON、XML、GIS(地理資訊系統)等,其中最具備特色的是 GIS,也是這套資料庫最具代表的功能之一,它可以根據資料庫內的 GIS 座標,快速運算出二維、三維面積,也可以用來運算路徑長度,如果要做地理運算,PostgreSQL 基本上就是首選。
  • 高度可靠性:PostgreSQL 具有強大的錯誤恢復機制,包括ACID(原子性、一致性、隔離性和持久性)事務交易的支援和預寫日誌(WAL)技術。這使得它在故障發生時能夠確保資料的完整性、一致性、與可靠性。

PostgreSQL 有什麼優勢?

要判斷一套資料庫的好與壞,就要看這套資料庫能否解決自己的應用場景、以及背後有沒有強大的社群支撐著。
  • 社群生態:PostgreSQL 擁有一個活躍的社群,社群成員共同貢獻著程式碼、修復錯誤、提供支援和擴展功能。在台灣,就有 PostgreSQL 台灣使用者社群,分享資料庫的資訊和經驗。
  • 第三方套件:PostgreSQL 有很多好用的功用,像是 pgbench 可以進行模擬查詢和連線, pgbouncer 可以做連線池,當然還有許多工具,不勝枚舉。
  • 安全性和隔離性:PostgreSQL 提供權限管理、資料加密、SSL連線,確保不同的使用者與程序之間的數據分離和保護。
  • 跨平台支援:PostgreSQL 可在多種作業系統上執行,包括Windows、Linux、macOS等。
講了那麼多,你準備用這套這麼棒的資料庫了嗎?
avatar-img
0會員
3內容數
這個專欄將帶您深入了解PostgreSQL,一個功能強大且廣受歡迎的開源關聯式資料庫管理系統。我們將探索PostgreSQL的特色,並分享最佳實務案例。無論您是開發人員、數據專家還是資料庫管理者,這個專欄將為您提供有價值的資訊和洞察力,助您充分利用PostgreSQL的潛力。一起開啟這個令人興奮的旅程吧!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
2025 年,從分享精彩的 #Myvocus2024 年度回顧開始! #Myvocus2024 年度回顧通知已送達 vocus 的 2024 有超過 12 萬筆訂單、35 萬則以上的內容、16 萬以上的新會員、4 千+ 筆數位商品訂單,5 萬 + 則貼文! 曬曬你的 2024 vocus 吧!
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
資料庫管理系統(Database Management System, DBMS)介紹 資料庫管理系統(DBMS) 是一種軟體工具,用於創建、管理和操作數據庫,幫助用戶高效、安全地存儲和檢索數據。DBMS 是現代企業數據基礎設施的核心技術,支撐著應用程式、分析系統和業務操作。 DBMS 的主要
Thumbnail
在當今的軟體開發與資料管理中,資料庫是不可或缺的一部分。無論是 MySQL、PostgreSQL、Oracle 還是 SQL Server,這些都是常見的關聯式資料庫系統,幫助我們管理結構化資料。今天,我們將深入探討 資料庫正規化 的概念,並了解如何利用它來提升資料庫的效能與可維護性。
Thumbnail
※ 關聯式資料庫(RDBMS)是什麼? 關聯式資料庫(RDBMS)是一種傳統的資料庫系統,以結構化查詢語言(SQL)為基礎,將資料儲存於預定義的表格中。這些表格包括行和列,彼此之間存在明確的關聯性。 ※ 關聯式資料庫(RDBMS)有兩個重要元素: 關聯(Relational): 關聯式資料庫
Thumbnail
※ 為什麼選擇SQLite? 安裝簡單:SQLite是一個零配置的資料庫,不需要複雜的設定和安裝過程。。 使用SQL語法。 設計選擇多元性(MySQL / SQLite):適合於小零件資料應用、嵌入式系統、物聯網設備。 ※ SQLite四大優點: 執行檔檔案很小:資料庫系統需要的磁碟空
Thumbnail
Ruby on Rails 是一個使用 Ruby 語言編寫的開源 Web 應用程式框架。 PostgreSQL 是一個強大、開源的物件關聯式資料庫系統,擁有超過 35 年的活躍開發歷程,並以其可靠性、功能強大性和效能而享有盛譽。 PostgreSQL 提供許多特定資料類型,以下是 Rails 支
※ 什麼是資料庫正規化?為什麼需要正規化? 什麼是資料庫正規化? 資料庫正規化是一種設計關聯式資料庫的方法,目的是建立良好結構的關聯表,主要目的有二: 去除重複性:建立沒有重複的關聯表。因為重複資料不只浪費資料庫的儲存空間,而且會產生資料維護上的問題。 去除不一致的相依性:資料相依是指關聯表
※ MySQL是什麼? MySQL是一種開源(免費)的關聯式資料庫管理系統,所以任何人都可以免費使用,是Web開發中最常用的資料庫之一。MySQL 會將資料儲存在由資料列與資料欄組成的資料表中。使用者可使用結構化查詢語言 (通常稱為 SQL) 來定義、操控、控管及查詢資料。  簡單來說,資料
※ 什麼是MongoDB? MongoDB是一個開源、跨平台的非關聯式資料庫,屬於一種文件導向(Document-oriented database)的資料庫管理系統,也就是 NoSQL 數據庫管理系統(DBMS)。 ※ 什麼是非關聯式資料庫(NoSQL)? 非關聯式資料庫(NoSQL)的意思
Thumbnail
本篇說明如何利用Kubernetes特色,將PostgreSQL DB以HA的架構來提供服務,並說明相關的實作流程與說明。
Thumbnail
※ 基本操作:SQL 語法,SELECT, WHERE, CREATE, UPDATE, DELETE。 SELECT:從資料庫中或資料表中指定要選擇的欄位中取得資料,稱之為查詢 (query)。 ※ 語法:要由兩部分構成,第一部分是要 "拿什麼" 資料 (若有多項用逗號隔開);第二部分則為
Thumbnail
2025 年,從分享精彩的 #Myvocus2024 年度回顧開始! #Myvocus2024 年度回顧通知已送達 vocus 的 2024 有超過 12 萬筆訂單、35 萬則以上的內容、16 萬以上的新會員、4 千+ 筆數位商品訂單,5 萬 + 則貼文! 曬曬你的 2024 vocus 吧!
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
資料庫管理系統(Database Management System, DBMS)介紹 資料庫管理系統(DBMS) 是一種軟體工具,用於創建、管理和操作數據庫,幫助用戶高效、安全地存儲和檢索數據。DBMS 是現代企業數據基礎設施的核心技術,支撐著應用程式、分析系統和業務操作。 DBMS 的主要
Thumbnail
在當今的軟體開發與資料管理中,資料庫是不可或缺的一部分。無論是 MySQL、PostgreSQL、Oracle 還是 SQL Server,這些都是常見的關聯式資料庫系統,幫助我們管理結構化資料。今天,我們將深入探討 資料庫正規化 的概念,並了解如何利用它來提升資料庫的效能與可維護性。
Thumbnail
※ 關聯式資料庫(RDBMS)是什麼? 關聯式資料庫(RDBMS)是一種傳統的資料庫系統,以結構化查詢語言(SQL)為基礎,將資料儲存於預定義的表格中。這些表格包括行和列,彼此之間存在明確的關聯性。 ※ 關聯式資料庫(RDBMS)有兩個重要元素: 關聯(Relational): 關聯式資料庫
Thumbnail
※ 為什麼選擇SQLite? 安裝簡單:SQLite是一個零配置的資料庫,不需要複雜的設定和安裝過程。。 使用SQL語法。 設計選擇多元性(MySQL / SQLite):適合於小零件資料應用、嵌入式系統、物聯網設備。 ※ SQLite四大優點: 執行檔檔案很小:資料庫系統需要的磁碟空
Thumbnail
Ruby on Rails 是一個使用 Ruby 語言編寫的開源 Web 應用程式框架。 PostgreSQL 是一個強大、開源的物件關聯式資料庫系統,擁有超過 35 年的活躍開發歷程,並以其可靠性、功能強大性和效能而享有盛譽。 PostgreSQL 提供許多特定資料類型,以下是 Rails 支
※ 什麼是資料庫正規化?為什麼需要正規化? 什麼是資料庫正規化? 資料庫正規化是一種設計關聯式資料庫的方法,目的是建立良好結構的關聯表,主要目的有二: 去除重複性:建立沒有重複的關聯表。因為重複資料不只浪費資料庫的儲存空間,而且會產生資料維護上的問題。 去除不一致的相依性:資料相依是指關聯表
※ MySQL是什麼? MySQL是一種開源(免費)的關聯式資料庫管理系統,所以任何人都可以免費使用,是Web開發中最常用的資料庫之一。MySQL 會將資料儲存在由資料列與資料欄組成的資料表中。使用者可使用結構化查詢語言 (通常稱為 SQL) 來定義、操控、控管及查詢資料。  簡單來說,資料
※ 什麼是MongoDB? MongoDB是一個開源、跨平台的非關聯式資料庫,屬於一種文件導向(Document-oriented database)的資料庫管理系統,也就是 NoSQL 數據庫管理系統(DBMS)。 ※ 什麼是非關聯式資料庫(NoSQL)? 非關聯式資料庫(NoSQL)的意思
Thumbnail
本篇說明如何利用Kubernetes特色,將PostgreSQL DB以HA的架構來提供服務,並說明相關的實作流程與說明。
Thumbnail
※ 基本操作:SQL 語法,SELECT, WHERE, CREATE, UPDATE, DELETE。 SELECT:從資料庫中或資料表中指定要選擇的欄位中取得資料,稱之為查詢 (query)。 ※ 語法:要由兩部分構成,第一部分是要 "拿什麼" 資料 (若有多項用逗號隔開);第二部分則為