一个更快,数据类型支持更精准的 golang PostgreSQL 驱动
栏目: 数据库 · PostgreSQL · 发布时间: 6年前
内容简介:更多的细节及使用示例,参见:
用于golang database/sql 的PostgreSQL驱动
Go Version Support
PostgreSQL Version Support
安装
go get github.com/blusewang/pg
使用
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
}
...
文档
更多的细节及使用示例,参见: https://godoc.org/github.com/... .
特性
-
在
Scan()时,对null值宽容。不推荐使用sql.Null系列类型,接受null值!- 以字符串字段的
null值为例:向Scan()中传string型的变量,得到"",传*string型的变量,得到nil。
- 以字符串字段的
- 常见
Array类型直接兼容golang的数组类型。如PG的:integer[],对应golang的:[]int64 -
数据源格式,既支持键值对,又支持URI。书写格式遵守: PG官方规范 。
pg://
-
积极标记并缓存所有预备语句[包括
db.Query、db.Exec、db.Prepare()等的语句],遇到相同的语句请求时,自动复用。 这能提高1倍的执行速度!!!- 为了发挥好此功能,需要最大可能地允许数据库连接空闲。
- 配置上推荐将
sql.SetMaxIdleConns(x)、sql.SetMaxOpenConns(x)两处的x设置为相同的值!
协议实现
- 此驱动更适合服务于Web
| 状态 | 功能 | 备注 |
|---|---|---|
| <ul><li>- [x] </li></ul> | 启动 | 必备,实现:无密码,明文密码和md5密码三种认证 |
| <ul><li>- [x] </li></ul> | 简单查询 | 必备 |
| <ul><li>- [x] </li></ul> | 扩展查询 | 必备 |
| <ul><li>- [x] </li></ul> | 取消正在处理的请求 | 必备 |
| <ul><li>- [x] </li></ul> | 终止 | 必备 |
| <ul><li>- [ ] </li></ul> | 函数调用 | PG官方推荐使用查询去调用函数 |
| <ul><li>- [ ] </li></ul> | SASL 认证 | 不常用 |
| <ul><li>- [ ] </li></ul> | 异步操作 | 不常用 |
| <ul><li>- [ ] </li></ul> | COPY操作 | 不常用 |
| <ul><li>- [ ] </li></ul> | SSL会话加密 | 低效 |
以上所述就是小编给大家介绍的《一个更快,数据类型支持更精准的 golang PostgreSQL 驱动》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 让SpringBoot启动更快一点
- 该如何才能更快且有效的学习?
- 更快更稳定 慧荣SM2260主控测试
- 使用 WebGL 2.0 更快地渲染 3D
- MSON,让JSON序列化更快
- 「译」更快的 async 函数和 promises
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Pro Django
Marty Alchin / Apress / 2008-11-24 / USD 49.99
Django is the leading Python web application development framework. Learn how to leverage the Django web framework to its full potential in this advanced tutorial and reference. Endorsed by Django, Pr......一起来看看 《Pro Django》 这本书的介绍吧!