2014-02-22 152 views
40

试图与旅途中的Postgres数据库通信启用,准备这样的说法:SSL没有在服务器

var stmt *sql.Stmt 
var err error 

stmt, err = db.Prepare(selectStatement) 
if err != nil { 
    fmt.Printf("db.Prepare error: %v\n",err) 
    return err 
} 

抛出以下错误:

db.Prepare error: pq: SSL is not enabled on the server 

任何解决方案?

如果需要,我可以添加更多信息。

回答

60

您应该建立无SSL加密的数据库连接,这样的:

db, err := sql.Open("postgres", "user=test password=test dbname=test sslmode=disable") 
+3

'sslmode = disable',真棒,谢谢! –

64

如果您的数据源名称是一个URL,你会做这样的:只是增加

db, err := sql.Open("postgres", "postgres://username:[email protected]/db_name?sslmode=disable") 

sslmode到数据库URL像查询参数。