Home > Software design >  pq: SSL is not enabled on the server Postrsql golang
pq: SSL is not enabled on the server Postrsql golang

Time:01-20

I want connect Postresql database with golang

Code :

  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;
}

But i get error even though ssl = disable: Error:

pq: SSL is not enabled on the server

How can I fix this??

CodePudding user response:

    client := fmt.Sprintf("postgres://%s:%s@%s:%s/%s?sslmode=%s", os.Getenv("DATABASE_PG_USER"), os.Getenv("DATABASE_PG_PASSWORD"), os.Getenv("DATABASE_PG_HOST"), os.Getenv("DATABASE_PG_PORT"), os.Getenv("DATABASE_PG_NAME"), os.Getenv("DATABASE_PG_IDLE_SSLMODE"))
    db, err := sqlx.Open("postgres", client)
    if err != nil {
        return nil, err
    }
    ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
    defer cancel()

    _, err = db.Conn(ctx)
    if err != nil {
        return nil, err
    }

    err = db.Ping()
    if err != nil {
        return nil, err
    }

    return db, err

CodePudding user response:

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
}

You should not use postgres twice.

  •  Tags:  
  • Related