
pgx PostgreSQL的純Go驅(qū)動(dòng)程序和工具包
聲明:該文章由作者(王雯)發(fā)表,轉(zhuǎn)載此文章須經(jīng)作者同意并請(qǐng)附上出處(0XUCN)及本頁(yè)鏈接。。
pgx 是用于 PostgreSQL 的純 Go 驅(qū)動(dòng)程序和工具包。
pgx 驅(qū)動(dòng)程序是一個(gè)低級(jí)、高性能的接口,它 expose 了 PostgreSQL 特有的功能,如 LISTEN / NOTIFY 和 COPY。它還包括一個(gè)標(biāo)準(zhǔn)?database/sql?接口適配器。
工具包組件是一組相關(guān)的軟件包,用于實(shí)現(xiàn) PostgreSQL 的功能,如解析線協(xié)議和 PostgreSQL 與 Go 之間的類(lèi)型映射。這些底層軟件包可用于實(shí)現(xiàn)替代驅(qū)動(dòng)程序、代理、負(fù)載平衡器、邏輯復(fù)制客戶端等。
用法示例:
package?main import?( "context" "fmt" "os" "github.com/jackc/pgx/v5" ) func?main()?{ //?urlExample?:=?"postgres://username:password@localhost:5432/database_name" conn,?err?:=?pgx.Connect(context.Background(),?os.Getenv("DATABASE_URL")) if?err?!=?nil?{ fmt.Fprintf(os.Stderr,?"Unable?to?connect?to?database:?%v\n",?err) os.Exit(1) } defer?conn.Close(context.Background()) var?name?string var?weight?int64 err?=?conn.QueryRow(context.Background(),?"select?name,?weight?from?widgets?where?id=$1",?42).Scan(&name,?&weight) if?err?!=?nil?{ fmt.Fprintf(os.Stderr,?"QueryRow?failed:?%v\n",?err) os.Exit(1) } fmt.Println(name,?weight) }
特性:
支持大約 70 種不同的 PostgreSQL 類(lèi)型
自動(dòng)語(yǔ)句準(zhǔn)備和緩存
批量查詢
單次往返查詢方式
完整的 TLS 連接控制
對(duì)自定義類(lèi)型的二進(jìn)制格式支持(允許更快的編碼 / 解碼)
COPY?協(xié)議支持,實(shí)現(xiàn)更快的批量數(shù)據(jù)加載
Tracing 和 logging 支持
帶有 after-connect hook 的連接池,用于任意連接設(shè)置
LISTEN/NOTIFY
將 PostgreSQL 數(shù)組轉(zhuǎn)換為整數(shù)、浮點(diǎn)數(shù)和字符串的 Go 切片映射
hstore?支持
json?和?jsonb?支持
將?inet?和?cidrPostgreSQL 類(lèi)型映射為?netip.Addr?和?netip.Prefix
Large object? 支持
NULL 映射為?pointer to pointer
支持自定義類(lèi)型的?database/sql.Scanner?和?database/sql/driver.Valuer?接口
通知響應(yīng)處理
使用保存點(diǎn)模擬嵌套事務(wù)
[超站]友情鏈接:
四季很好,只要有你,文娛排行榜:https://www.yaopaiming.com/
關(guān)注數(shù)據(jù)與安全,洞悉企業(yè)級(jí)服務(wù)市場(chǎng):https://www.ijiandao.com/
- 1 像石榴籽一樣緊緊抱在一起 7903996
- 2 全球最強(qiáng)臺(tái)風(fēng)明日登陸廣東 7809168
- 3 深圳宣布停工停業(yè)停市停課停運(yùn) 7713903
- 4 唱著民歌迎豐收 7617787
- 5 268萬(wàn)翡翠標(biāo)錯(cuò)價(jià)按26.8萬(wàn)賣(mài)出 7519971
- 6 空間站拍到樺加沙臺(tái)風(fēng)眼 壓迫感十足 7428945
- 7 護(hù)網(wǎng):社交賬號(hào)不受控制?木馬在作祟 7330948
- 8 中國(guó)訂單至今為零 美國(guó)豆農(nóng)感受痛苦 7235856
- 9 廣東福建大暴雨 臺(tái)灣局地特大暴雨 7137604
- 10 牛彈琴:以色列的最大麻煩來(lái)了 7045464