pg 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
pg 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
pg 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
pg 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
pg 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 MIT
开发语言 Google Go
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 blusewang
适用人群 未知
收录时间 2020-10-30

软件简介

pg 是一个用于golang database/sql 的 PostgreSQL 驱动。

安装

go get github.com/blusewang/pg

使用

	db, err := sql.Open("pg", "pg://user:password@dbhost.yourdomain.com/database_name?application_name=app_name&sslmode=verify-full")
	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/blusewang/pg.

特性

  • 常见Array类型直接兼容golang的数组类型。如PG的:integer[],对应golang的:[]int64
  • 数据源格式,既支持键值对,又支持URI。书写格式遵守:PG官方规范
    • URI格式,支持pg://前缀。
    • 其中用户名、端口、主机名,在数据源中未指定时,有默认值。用户名默认为操作系统当前用户的用户名
    • DSN配置中,strict项是独立于PG后端之外的。它默认为true
      • 若置为false;在遇到null值时,宽容处理。例:向Scan()中传 string型的指针,得到 "",传 *string型的指针,得到 ""
  • 积极标记并缓存所有预备语句[包括db.Querydb.Execdb.Prepare()等的语句],遇到相同的语句请求时,自动复用。这能提高1倍的执行速度!!!
    • 为了发挥好此功能,需要最大可能地允许数据库连接空闲。
    • 配置上推荐将sql.SetMaxIdleConns(x)sql.SetMaxOpenConns(x)两处的x设置为相同的值!

协议实现

  • 此驱动更适合服务于Web
状态 功能 备注
  •  
启动 必备,实现:无密码,明文密码和md5密码三种认证
  •  
简单查询 必备
  •  
扩展查询 必备
  •  
取消正在处理的请求 必备
  •  
终止 必备
  •  
SSL会话加密 远程安全
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
2018/07/10 10:26

postgreSQL no pg_hba.conf

当程序链接PostgreSQL 时,可能会报错:No pg_hba.conf entry。 这条错误的原因是因为客户端远程访问postgresql受限所致,因为postgresql默认情况下除本机外的机器是不能连接的。 默认情况下,postgresql本机的连接是信任连接,只要有用户名就可以连接,不用密码. 要改变这种默认设置需要更改postgresql安装目录下的两个配置文件(pg_hba.conf与postgresql.conf) 认证文件 pg_hba.conf 文件目录:postgresql安装目录下的..\PostGr...

0
0
2019/08/28 11:06

PostgreSQL-pg_ctl

命令简介 pg_ctl 启动、关闭、重启 postgres pg_ctl start [-w] [-s] [-D datadir] [-l filename] [-o options] [-p path] pg_ctl stop [-W] [-s] [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ] pg_ctl restart [-w] [-s] [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ] [-o options] pg_ctl reload [-s] [-D datadir] pg_ctl status [-D datadir] pg_ctl kill [signal_name] [process_id] pg...

0
0
发表于数据库专区
2014/09/28 09:45

PostgreSQL pg_xlogdump

pg_xlogdump 查看支持的资源管理类型 # ./pg_xlogdump /home/pgsql-data/master/pg_xlog/000000010000000000000001 --rmgr=list XLOG Transaction Storage CLOG Database Tablespace MultiXact RelMap Standby Heap2 Heap Btree Hash Gin Gist Sequence SPGist...

0
0
发表于数据库专区
01/05 13:48

postgresql 备份之-pg_basebackup

(一)创建基础备份 1 、配置可以基于时间点的备份与恢复(point-in-time recovery (PITR)): 1.1 postgresql.conf 中配置 wal_level = replica # used to be "hot_standby" in older versions 9.6 default value minimal max_wal_senders = 10 # at least 2, better at least 2 archive_mode = on archive_command = 'cp %p /archive/%f' (也可使用rsync , scp ,需确保返回值为0,才被认为是归档成功了) 1....

0
0
2018/12/14 22:56

PostgreSQL入门,PostgreSQL和mysql

PostgreSQL被誉为“世界上功能最强大的开源数据库”,是以加州大学伯克利分校计算机系开发的POSTGRES 4.2为基础的对象关系型数据库管理系统。 PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如,通过增加新的数据类型、函数、操作符、聚集函数、索引。 开发者可以免费使用、修改和分发 PostgreSQL,不管是私用、商用、还是...

0
1
发表于服务端专区
2019/10/17 06:00

PostgreSql 备份之 pg_probackup

PostgreSql 备份的软件(免费)的有不少,pgrman(之前有一篇写过), Barman (功能很强大,配置很复杂)。最近大佬微信公众号发布 pg_probackup 功能和ORACLE rman 相差无几。 下面我们就来看看pg_probackup 何许人也。 pg_probackup是一款免费的postgresql 备份软件,目前支持到 postgresql 11 , 这是一名 RU 的 DEV 开发者开发的备份工具。作为postgresql 使用流行的国家,相关的软件也不少(日本,俄罗斯)。 这个小哥哥的其...

0
0
发表于数据库专区
2014/04/25 18:49

PostgreSQL的pg_depend详解

pg_depend是postgres的一张系统表,用来记录数据库对象之间的依赖关系,除了常见的主外键,还有其他一些内部依赖关系,可以通过这个系统表呈现出来。 一、表结构: postgres=# \d+ pg_depend Table "pg_catalog.pg_depend" Column | Type | Modifiers | Storage | Stats target | Description -------------+---------+-----------+---------+--------------+------------- classid | oi...

2
0
2019/09/19 16:36

【Linux】【PostgreSQL】PostgreSQL安装

前言   PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
2 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部