内容简介:用于golang database/sql 的PostgreSQL驱动[](https://godoc.org/github.com/blusewang/pg)[](https://travis-ci.org/blusewang/pg)
用于golang database/sql 的PostgreSQL驱动
[](https://godoc.org/github.com/blusewang/pg)
[](https://travis-ci.org/blusewang/pg)
[](https://github.com/blusewang/pg/blob/master/LICENSE)
#### Go Version Support

#### PostgreSQL Version Support


## 安装
go get github.com/blusewang/pg
## 使用
```golang
db, err := sql.Open("pg", "postgresql://user:password@host_name/database_name?application_name=app_name")
if err != nil {
return err
}
defer db.Close()
rows, err := db.Query("select * from bluse where id>$1", 0)
if err != nil {
return err
}
...
```
## 文档
更多的细节及使用示例,参见:
## 特性
* 在`Scan()`时,对`null`值宽容。不推荐使用`sql.Null`系列类型,接受`null`值!
* 以字符串字段的`null`值为例:向`Scan()`中传`string`型的变量,得到`""`,传`*string`型的变量,得到`nil`。
* 常见`Array`类型直接兼容golang的数组类型。如PG的:`integer[]`,对应golang的:`[]int64`
* 数据源格式,既支持键值对,又支持URI。书写格式遵守:[PG官方规范](https://www.postgresql.org/docs/10/libpq-connect.html#LIBPQ-CONNSTRING)。
* URI格式,支持`pg://`前缀。
* 其中用户名、端口、主机名,在数据源中未指定时,有默认值。用户名默认为操作系统当前用户的用户名
* 积极标记并缓存所有预备语句[包括`db.Query`、`db.Exec`、`db.Prepare()`等的语句],遇到相同的语句请求时,自动复用。**这能提高1倍的执行速度!!!**
* 为了发挥好此功能,需要最大可能地允许数据库连接空闲。
* 配置上推荐将`sql.SetMaxIdleConns(x)`、`sql.SetMaxOpenConns(x)`两处的x设置为相同的值!
## 协议实现
- 此驱动更适合服务于Web
|状态|功能|备注|
| :---- | :---- | :---- |
|
- -[x]
|启动|必备,实现:无密码,明文密码和md5密码三种认证|
|
- -[x]
|简单查询|必备|
|
- -[x]
|扩展查询|必备|
|
- -[x]
|取消正在处理的请求|必备|
|
- -[x]
|终止|必备|
|
- - [ ]
|函数调用|PG官方推荐使用查询去调用函数|
|
- - [ ]
|SASL 认证|不常用|
|
- - [ ]
|异步操作|不常用|
|
- - [ ]
|COPY操作|不常用|
|
- - [ ]
|SSL会话加密|低效|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 领域驱动设计简介
- 领域驱动设计简介之二
- 架构视角 - DDD、TDD、MDD领域驱动、测试驱动还是模型驱动?
- 事件驱动架构引领产业技术升级: 事件驱动联盟(中国)成立
- 领域驱动设计 (DDD) 实践之路(二):事件驱动与 CQRS
- 领域驱动设计 (DDD) 实践之路(二):事件驱动与 CQRS
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Mechanics of Web Handling
David R. Roisum
This unique book covers many aspects of web handling for manufacturing, converting, and printing. The book is applicable to any web including paper, film, foil, nonwovens, and textiles. The Mech......一起来看看 《The Mechanics of Web Handling》 这本书的介绍吧!