打开本地postgres连接

时间:2016-02-24 01:47:05

标签: database postgresql go

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

它上面有一个名为movsx eax, ax的数据库,该数据库中有一个名为test的表

我尝试使用GO连接到它。

进口:

test_table

主:

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

要测试连接,我正在运行Ping,并尝试在test_table中插入一行。但它让我回头:

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)

我该如何解决问题?

1 个答案:

答案 0 :(得分:4)

在这种情况下,需要仔细阅读以下清单:

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