tar xvf go1.17.3.linux-amd64.tar.gz -C /opt/apps/go
mkdir /opt/dev/go -p
vim ~/.bashrcexport GOROOT=/opt/apps/goexport PATH=$PATH:/opt/apps/go/binexport GOPATH=/opt/dev/gosource  ~/.bashrc
mkdir /opt/dev/go/src/github.com/lib/pq
package mainimport (
    "database/sql"
    "fmt"
    _ "github.com/lib/pq")const (
    host     = "192.168.21.138"
    port     = 5871
    user     = "test"
    password = "hg123456"
    dbname   = "test")func connectDB() *sql.DB{
    psqlInfo := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable",host, port, user, password, dbname)
    db, err := sql.Open("postgres", psqlInfo)
    if err != nil {
        panic(err)
    }
    err = db.Ping()
    if err != nil {
        panic(err)
    }
    fmt.Println("Successfully connected!")
    return db}func query(db *sql.DB){
    var name string
    rows,err:=db.Query("select '数据库版本:['||version()||']' as name")
    if err!= nil{
        fmt.Println(err)
    }
    defer rows.Close()
    for rows.Next(){
        err:= rows.Scan(&name)
        if err!= nil{
            fmt.Println(err)
        }
    }
    err = rows.Err()
    if err!= nil{
        fmt.Println(err)
    }
    fmt.Println(name)}func main()  {
    db:=connectDB()
    query(db)}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69994931/viewspace-2892482/,如需转载,请注明出处,否则将追究法律责任。