VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

openGauss-connector-go-pq驱动使用

1、获取openGauss-connector-go-pg的代码:

go get gitee.com/openGauss/openGauss-connector-go-pq  

2、在工程文件夹下创建main.go ,并在代码中导入该模块即可使用,以下为使用示例:
a)连接数据库并返回当前数据库时间示例代码:

package main

import (
	"database/sql"
	"fmt"
	"log"

	_ "gitee.com/opengauss/openGauss-connector-go-pq"
)

func main() {
	connStr := "host=127.0.0.1 port=5433 user=gaussdb password=mtkOP@128 dbname=postgres sslmode=disable"
	db, err := sql.Open("opengauss", connStr)
	if err != nil {
		log.Fatal(err)
	}
	var date string
	err = db.QueryRow("select current_date ").Scan(&date)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(date)
}

go build 编译代码生成可执行文件,运行可执行文件:

b)连接数据库并查询数据示例代码:

package main

import (
        "database/sql"
        "fmt"
        "log"

        _ "gitee.com/opengauss/openGauss-connector-go-pq"
)

type product struct {
        id int
        describe string
}

func main() {
        connStr := "host=127.0.0.1 port=5432 user=gotest password=Aa123456 dbname=vastbase sslmode=disable"
        db, err := sql.Open("opengauss", connStr)
        if err != nil {
                log.Fatal(err)
        }
        defer db.Close()

        var p product
        err = db.QueryRow("select * from products where id = 2;").Scan(&p.id, &p.describe)
        if err != nil {
                log.Fatal(err)
        }
        fmt.Printf("%d %s\n", p.id, p.describe)
        fmt.Println("Seccussfully query 1")
}

go build 编译代码生成可执行文件,运行可执行文件: