pq:服务器上未启用 SSL Postrsql golang

pq: SSL is not enabled on the server Postrsql golang

我想用 golang 连接 Postresql 数据库

代码:

  import (
    "context"
    "fmt"
    "time"

    _ "github.com/bmizerany/pq"
    "github.com/jmoiron/sqlx"
    )

  func NewPostSql()(*sql.DB,error) { 
    db, err := sql.Open("postgres", "postgres://postgres:ellez2004@localhost:5432/app?sslmode=disable")
    if err != nil { 
        return nil,err;
    }
    if err := db.Ping();err != nil {
        fmt.Println("error: ", err.Error());
    }
    return db,nil;
}

但是即使 ssl = disable 我仍然收到错误消息: 错误:

pq: 服务器上未启用 SSL

我该如何解决这个问题?

func NewPostSql() (*sql.DB, error) {
    db, err := sql.Open("postgres", "postgres://ellez2004@localhost:5432/app?sslmode=disable")
    if err != nil {
        return nil, err
    }
    if err := db.Ping(); err != nil {
        fmt.Println("error: ", err.Error())
    }
    return db, nil
}

你不应该使用 postgres 两次。

我发现问题“github.com/bmizerany/pq”包 workin.Just 不需要 安装 "github.com/lib/pq"

  import (
    "context"
    "fmt"
    "time"

    _ "github.com/lib/pq"
    "github.com/jmoiron/sqlx"
    )

  func NewPostSql()(*sql.DB,error) { 
    db, err := sql.Open("postgres", "postgres://postgres:ellez2004@localhost:5432/app?sslmode=disable")
    if err != nil { 
        return nil,err;
    }
    if err := db.Ping();err != nil {
        fmt.Println("error: ", err.Error());
    }
    return db,nil;
}