PostgreSQL 批量插入, 更新和合並操作

就在 2019 年 1 月份微軟收購了 PostgreSQL 數據庫的初創公司 CitusData, 在雲數據庫方面可以增強與 AWS 的竟爭。AWS 的 RDS 兩大開源數據庫就是 MySQL(Aurora 和 MariaDB 是它的變種) 和 PostgreSQL。

而 PostgreSQL 跳出了普通關係型數據庫的類型約束,它靈活的支持 JSON, JSONB, XML, 數組等類型。比如說字段類型可以是各種形式的數組,一維或多維。

create table t1(
    address varchar(5)[3],
    counter integer[3][3],
    schedule text[][]
)

上面只是認識了一下 PostgreSQL 這一亮眼的特性,本篇重點不在如何定義操作數組類型的字段,而是對於普通的非數組字段類型如何用與數組相關的 unnest 關鍵字進行記錄的批量插入,更新以及合併操作。

在正式使用介入 unnest 之前先熟悉一下 PostgreSQL 的 upsert(update insert) 操作。受其他數據庫的影響,總以後 PostgreSQL 也應該支持 merge into 語句,而且竟然 PostgreSQL 官方也有文檔介紹 MERGE 有模有樣的,然而試了一下根本就不支持 merge into 操作。 閱讀全文 >>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章