繁体   English   中英

GO打开本地postgres连接

[英]GO open local postgres connection

我的postgres在Mac上的端口5432上本地运行

它上面有一个名为test数据库,并且该数据库中有一个名为test_table表。

我正在尝试使用GO连接到它。

进口:

 "database/sql"
 _ "github.com/lib/pq"

主要:

db, err := sql.Open("postgres", "postgres://user:@localhost:5432/test")
if err != nil {
    log.Println(err)
}
defer db.Close()

if err2 := db.Ping(); err2 != nil {
 fmt.Println("Failed to keep connection alive")
}

db.QueryRow("INSERT INTO test.test_table (name) VALUES (`something`)) RETURNING id").Scan(&id)

fmt.Println(id)

为了测试连接,我正在运行Ping,还尝试将一行插入test_table。 但是它返回了我:

Failed to keep connection alive
0

我该如何解决该问题?

在这种情况下,需要检查以下清单:

  • 可以使用提供给go服务器的相同参数连接到服务器吗? 即您可以运行psql -U user -p 5432 -h localhost test吗?
  • 您是否打印所有错误? 在问题中,应该打印err2 ,因为它包含有关所发生情况的重要信息。 Scan还会返回未保存到变量或未打印的错误。 如果是这样,您可能已经在查询中看到语法问题。
  • 您可以在SQL Shell中运行查询吗? psql )如果没有,请先修复查询,然后再继续。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM