略過導覽

什麼是 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 還提供您的使用者一系列的索引製作技術,包括 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 資料類型:

布林值

布林值資料類型的用途是表示兩種狀態的值,例如 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,建置可隨著您業務步調調整規模的應用程式。

Azure Cosmos DB

使用完全受控的 NoSQL 資料庫服務,建置可擴充、高效能的應用程式或將其現代化。

適用於 MySQL 的 Azure 資料庫

利用完全受控的 MySQL 資料庫加速創新。

適用於 MariaDB 的 Azure 資料庫

使用自選的開放原始碼工具及平台,透過適用於 MariaDB 的 Azure 資料庫開發應用程式。

Azure Cache for Redis

快如閃電且完全受控的記憶體內部資料存放區。

SQL Server

為雲端資料庫帶來領先業界的效能及易管理性。

Azure SQL

查看適用於應用程式移轉、現代化及開發的所有 Azure SQL 資料庫服務。

Azure 資料庫

完全受控、智慧型且具備彈性的雲端資料庫服務。

Azure 資料庫移轉

輕鬆將資料庫移轉至 Azure。

查看所有 Azure 資料庫服務,並尋找符合您需求的資料庫,或深入了解如何將您的資料庫移轉至 Azure

探索適用於 PostgreSQL 的 Azure 資料庫

以適用於 PostgreSQL 的 Azure 資料庫建立可調整的應用程式,可協助您的企業充分運用資料庫。了解如何利用適用於 PostgreSQL 的 Azure 資料庫快速、輕鬆並放心地調整工作負載。

深入了解