從 MySQL、MariaDB 或 SQL Server 轉到 PostgreSQL 的開發者越來越多,但兩邊在識別字大小寫、AUTO_INCREMENT 與 IDENTITY 對應、UPSERT 寫法、Schema 設計、預存程序、連線模型上的差異,往往讓熟手卡關。這篇整理兩類用戶最常踩到的坑,比較三家在型別系統、交易隔離、索引、備援機制上的取捨,也說明 PostgreSQL 真正強在哪些場景、哪些情境反而 MySQL 或 SQL Server 更適合,幫助已經有資料庫基礎的讀者少走冤枉路。
PostgreSQL 入門給 MySQL/MariaDB 與 SQL Server 用戶|差異對照與遷移筆記
PostgreSQL 入門學習筆記 資料型態與DDL
PostgreSQL 有超強的資料型態系統,支援 JSON、陣列、地理座標、範圍型態、網路型態等。甚至可以自訂型態、運算子與函數,安裝套件還可以成為大語言模型的RAG資料庫。還有從設計階段就全面支援交易的一致性與隔離性,採用 MVCC 架構讓讀寫可同時進行而不互鎖,並提供精細的行鎖與 Savepoint 控制。
資料庫教學7-1:資料表視圖(View)教學 #MySQL #MariaDB
視圖是資料庫中一種虛擬的表格,它基於一個或多個實際表格的查詢結果而創建。它可以被視為一個預先定義的查詢,具有獨立的名稱,方便查詢和使用。通過使用視圖,可以將複雜的查詢操作簡化為單個表格,提供更清晰、更易讀的數據視圖。視圖還可以用於控制對數據的訪問權限,只提供特定的數據子集給用戶或應用程序。它提供了更高的數據安全性和隱私保護。
資料庫教學3-4:資料庫正規化是什麼? #MySQL #MariaDB
資料庫正規化(Database normalization)簡單的講就是讓資料庫避免重複資料、減少空間浪費、避免資料不一致、讓資料更好管理的一系列規劃方式。本篇文章屬於概念性質,對於MariaDB、MySQL、MS SQL、Oracle Database、H2 Database等各種使用SQL的關聯式資料庫都是通用的概念。
資料庫教學2:我該使用MariaDB還是MongoDB? #MySQL #MariaDB
關連式資料庫管理系統(RDBMS)存在已久,有嚴謹的資料結構檢查能力,到現在還是非常好用。NoSQL是網路迅速發展時代下的後起之秀,通常捨棄那些資料結構檢查來提高效能,也漸漸成為各種應用的優先選擇。本篇文章也可以看作是「我該使用傳統關連式資料庫還是文件式NoSQL資料庫?」,我會介紹兩者功能的差異、授權方式的考量、我自己的實務應用方式。
MongoDB的Transaction教學,讓MongoDB不再只能做「假交易」
早期的MongoDB沒辦法做Transaction,必須用要使用db.collection.findAndModify()來進行尋找合併修改的元子操作,或是透過Two Phase Commit來模擬交易行為。好消息是從MongoDB 4.0開始增加了Transaction機制,MongoDB 5.0、6.0又更完善了此功能。本文教大家如何在透過JavaScript來使用真正的MongoDB Transaction。
資料庫教學3-2:Data Type 資料型態 #MySQL #MariaDB
從第一章看過來的各位可能已經等不及要操控資料庫了,但是先等等,必須先了解資料型態才能在建立資料表的時候知道我們需要什麼樣 […]
資料庫教學3-1:資料庫與資料表介紹 #MySQL #MariaDB
為了讓還沒有概念的人可以理解資料庫的概念,本文會以Excel來類比資料庫,這只是為了讓新手可以快速想像出資料的模樣,但資 […]
資料庫教學1:資料庫系統介紹 #MySQL #MariaDB
資料庫的用途 資料庫是一堆結構化資料的集合,由資料庫管理系統來儲存、修改、管理、查詢。通常這些資料是結構明確的數字、文字 […]