本文介绍如何在 go 语言中通过 `lib/pq` 驱动连接并操作 postgresql 9.4,重点讲解对原生 json 类型的读取与自定义解析方法,包括字符串直接处理和实现 `sql.scanner` 接口的高级用法。
PostgreSQL 9.4 正式引入了功能更完善的 JSONB 类型(相比 9.2 起支持的 JSON 类型,JSONB 支持索引、去重和高效查询),而 Go 生态中最成熟、官方推荐的 PostgreSQL 驱动 —— github.com/lib/pq —— 完全兼容 PostgreSQL 9.4,并能无缝处理 JSON 和 JSONB 字段。默认情况下,pq 将 JSON 列以 []byte 形式返回,Go 标准库可直接将其解码为结构体或 map[string]interface{}。
以下是一个基础示例,展示如何建表、插入及查询 JSON 数据: