SQL Query在服务器上完成,但程序永远不会恢复

时间:2017-11-01 16:04:36

标签: go amazon-redshift

我使用go-lang postgres驱动程序将我的go脚本连接到redshift。当查询需要5分钟以上才能完成时,我的程序永远无法控制它。在redshift-server检查查询后,我确实看到该查询在~7分钟内完成。

不确定为什么会这样。

我的代码

func truncate_and_populate_set_1(db *sql.DB, parameter string){
  insert_q := `...`
  db := GetDB()
  util.ExeQ(db, insert_q)
  log.Println("Done adding records to table")
}

func GetDB() *sql.DB {
  connection_string := "postgres://%s:%s@host"
  db, err := sql.Open("postgres", connection_string)
  if err != nil {
    fmt.Println(err)
  }
  return db
}

func ExeQ(db *sql.DB, query string) {
_, err := db.Exec(query)
if err != nil {
    log.Fatal(err)
  }
}

1 个答案:

答案 0 :(得分:0)

您需要更改管理Redshift连接的库的保持活动行为。不幸的是,我无法告诉你如何在Go中做到这一点。

对于JDBC URL,您可以附加选项:

$searchVar = $_POST['searchVar'];

有关更多选项,请参阅此处的文档:http://docs.aws.amazon.com/redshift/latest/mgmt/troubleshooting-connections.html