什麼是 PostgreSQL?
PostgreSQL 是開放原始碼關聯式資料庫。了解 PostgreSQL 的性質、PostgreSQL 資料類型及其他資訊。
業經證實且功能強大的開放原始碼資料庫系統
到底什麼是 PostgreSQL 資料庫? 像 PostgreSQL 這樣的關聯式資料庫,可協助使用者整理資料並了解資料之間的關聯性。PostgreSQL 是一種開放原始碼的關聯式資料庫,有 30 年開發的歷史支援,因而成為時下最成熟的的關聯式資料庫之一。PostgreSQL 以其彈性和完整性,十分受開發人員及系統管理員的喜愛。例如,PostgreSQL 可以同時支援關聯式和非關聯式的查詢,而其開放原始碼的本質也代表著有超過 600 位參與者的專屬社群,會長期投入資料庫系統的改善工作。
誰需要使用 PostgreSQL?
PostgreSQL 在金融服務業、製造業、零售業及物流業等多種領域,都是重要的資料庫解決方案,可協助開發人員維護其資料的完整性、更輕鬆地管理不同規模的工作負載,並可視需要進行調整。
PostgreSQL 可以用作主要的資料庫。除了引以自豪的強大名聲外,PostgreSQL 還能為具備地理空間功能的應用程式,以及結合時間序列、JavaScript 物件標記法繫結 (JSONB) 與關聯式資料的應用程式,提供了實質的好處。而且系統管理員多已認知到 PostgreSQL 在保護資料方面的高可靠性。整體而言,PostgreSQL 是因為有持續擴充的功能集,以及熱心的社群與參與者,而維持其名聲於不墜。
為何要使用 PostgreSQL?
由於 PostgreSQL 穩固、安全且可擴充,而且還有多樣化的可用工具生態系統,因此開發人員能將 PostgreSQL 用於各種不同的用途。該軟體設計的目的就是要和所有主要的作業系統相容,包括 Linux、Windows 和 Macintosh,同時還支援文字、影像、音效和影片,使其成為可以滿足公司和個人多種需求的熱門資料庫。PostgreSQL 被普遍視為開發人員愛用的資料庫技術,僅次於 MySQL。
不過,仍有許多原因會讓開發人員優先選擇 PostgreSQL (而非 MySQL) 作為資料庫解決方案:
使用強大的功能
PostgreSQL 隨附豐富的使用者選項。例如,您可以選擇時間點復原、預先寫入記錄、精細的存取控制、資料表空間、巢狀交易、線上備份以及多版本並行控制等多種功能。
可靠性與合規性
多年來的持續開發,已協助 PostgreSQL 獲得極佳的容錯能力。其符合資料庫交易所需的四大特性:不可部分完成性、一致性、隔離性及持久性。此外,PostgreSQL 還支援跨觸發程序、外部索引鍵屬性、聯結和預存程序的多種語言。PostgreSQL 允許使用最常見的資料類型 (包括 SQL 2008),並支援 Unicode、國際字元集及多位元組字元編碼。
PostgreSQL 是開放原始碼授權
由於 PostgreSQL 是以開放原始碼授權的方式存取,您的使用者會比使用商務資料庫系統享有更多的彈性和創新。由於沒有授權成本,因此您的使用者可以自由探索無限的開發可能性,甚至可以依照個人的選擇來修改或實作原始程式碼。
PostgreSQL 的可擴縮性
優異的可擴縮性是 PostgreSQL 的最大特色。該軟體可以毫不費力地管理大量資料。PostgreSQL 的可擴縮性不僅適用於其所能管理的資料量,同時也適用於其所能管理的並行使用者數目。
多樣化的索引類型以及全文檢索搜尋功能
除了字串搜尋所需的全文檢索搜尋功能以及字串的向量運算之外,PostgreSQL 還提供您的使用者一系列的索引製作技術,包括 B+ Tree 索引、廣義倒排索引和通用搜尋樹。
靈活度
PostgreSQL 能與大多數主要的程式設計語言和通訊協定相容,包括 C、C++、Go、Perl、Python、JAVA、.Net、Ruby、ODBC 和 Tcl。這意味著您的使用者可在沒有系統衝突風險的情況下,使用他們最熟悉的語言來工作。
多樣化的支援生態系統
PostgreSQL 開放原始碼的本質,讓使用者得以享有專屬社群和參與者的支援,這些參與者會持續不斷地優化系統,從而使其更為安全且更符合需求。您的使用者可以存取此該社群的集體知識,回報錯誤、對開發專案以群眾外包的方式徵詢相關意見,並回答相關的提問。PostgreSQL 開放原始碼的本質,提供使用者多種取得支援的方法,不論使用的是 Ruby on Rails、Tableau 或 Datadog 架構都可以。您的開發人員不僅可以存取社群的集體知識,以及群眾外包的協助,還能接觸 PostgreSQL 專家及服務,以解決問題或研判後續的步驟。
JSON
因為 PostgreSQL 同時可以支援關聯式和非關聯式的查詢,使用者可以使用 SQL 和 JSON 路徑運算式來存取 JSON 資料。
擴充性
PostgreSQL 不僅會儲存資料,該軟體還可讓您的使用者有能力定義功能性語言和資料類型,包括自訂類型或使用者定義的類型。此外,貴公司的開發人員可以使用各種可用的延伸模組和增益集自訂 PostgreSQL 的體驗,包含 PostGIS、Citus、pg_cron、HyperLogLog 和 t-digest。PostgreSQL 能達到這種程度的擴充性,是因為其與大多數的關聯式資料庫管理系統不同,在目錄中儲存的資訊遠多於傳統資料表和資料行內含的資訊。您的使用者具備修改資料表的權力,並在這個過程中也一併擴展了 PostgreSQL 功能。
PostgreSQL 資料類型的說明
您的 PostgreSQL 使用者隨時都有大量的原生資料類型可以使用,包括 JSONB 和 PostGIS,而且使用者還可以輕鬆新增 PostgreSQL 資料類型。每一種資料類型都是為了支援獨特用途而設計的,例如全文檢索搜尋及日期和時間資料。若要建立資料表,您的使用者要先為每個資料行選取特定的資料類型。這些資料行的用途在於表示資料表欄位中的資料類型。以下是一些最常見的 PostgreSQL 資料類型:
布林值
布林值資料類型的用途是表示兩種狀態的值,例如 True/False、On/Off、Yes/No 和 Null 值。通常,這個資料類型會用於評估條件陳述式。控制流程可能取決於結果 (True 或 False),就像使用 PostgreSQL CASE 運算式時,評估結果會導致不同的動作。
字元
此資料類型由字元字串 (例如字母或數字) 組成,用於儲存文字值。字元資料類型和字串類型可能以固定長度 (稱為 char) 或是可變長度 (亦即 Varchar 和 long Varchar) 的形式出現。使用者選擇的長度會影響輸入的驗證。
日期和時間
日期和時間資料類型用於表示日期、時間和時態間隔。PostgreSQL 的時間戳記資料類型會精確到微秒,並讓您的使用者可以選擇儲在存時間和日期資料時,是否要附加時區的資訊。
數值
數值資料類型會有兩種形式:完全符合和近似。屬於完全符合的數值資料類型有整數資料類型和十進位資料類型。而屬於近似的資料類型則包含了浮點資料類型 (例如 2、4 和 8 位元組的整數、4 和 8 位元組的浮點數),以及可選擇精確度的小數。
探索更多 Azure SQL 資料庫服務
Azure SQL Database
使用雲端中受控的智慧型 SQL,建置可隨著您業務步調調整規模的應用程式。
適用於 PostgreSQL 的 Azure 資料庫
使用完全受管理、智慧型且可調整的 PostgreSQL,專注於應用程式創新,而不是資料庫管理。
適用於 MariaDB 的 Azure 資料庫
使用自選的開放原始碼工具及平台,透過適用於 MariaDB 的 Azure 資料庫開發應用程式。
Azure Cache for Redis
快如閃電且完全受控的記憶體內部資料存放區。
Azure SQL
查看適用於應用程式移轉、現代化及開發的所有 Azure SQL 資料庫服務。
適用於 MySQL 的 Azure 資料庫
利用完全受控的 MySQL 資料庫加速創新。