Sql 如何使用用户和密码打开数据库连接
如何在golang中的sql.Open命令中包含postgresql用户名和密码?下面的方法似乎不起作用。谢谢Sql 如何使用用户和密码打开数据库连接,sql,postgresql,go,Sql,Postgresql,Go,如何在golang中的sql.Open命令中包含postgresql用户名和密码?下面的方法似乎不起作用。谢谢 func db() (database *sql.DB) { database, err := sql.Open("postgres", "dbname=chitchat user=tom password=tomtom sslmode=disable") if err != nil { log.Fatal(err) } return }
func db() (database *sql.DB) {
database, err := sql.Open("postgres", "dbname=chitchat user=tom password=tomtom sslmode=disable")
if err != nil {
log.Fatal(err)
}
return
}
您可以在或(使用lib/pq)中看到示例:
您还可以使用URL连接到数据库。例如:
OP建议:
将数据库聊天的所有权限授予tom代码>
chitchat
数据库中的所有序列:从pg_类c中选择c.relname,其中c.relkind='S'代码>
将序列用户的所有权限授予tom代码>
将序列线程的所有权限授予tom代码>
向tom授予sequence posts\u id\u seq的所有权限代码>
将序列会话的所有权限授予tom代码>
您在err中看到了什么错误消息?发现sql.Open正常,但我无法创建用户。这是问题解决时的完整代码,但我认为有更好的方法。这里是:1)授予对数据库的访问权限将数据库聊天的所有特权授予tom;2) 列出聊天数据库中的所有序列,从pg_类c中选择c.relname,其中c.relkind='S';3) 授予对每个用户的访问权将序列用户的所有权限授予tom;将序列线程的所有权限授予tom;向tom授予序列POST_id_seq上的所有特权;向tom授予序列会话的所有特权;谢谢你,伙计!重试了几次,终于成功了。我去掉了感叹号“!”但是在密码中。@Mike是的,这只是一个示例(包括一个“!”),请查看代码链接。我使用测试成功地使它工作,但上面的聊天代码仍然存在问题。@Mike,让我们先结束这个问题:您可以打开一个新问题,其中包含您在代码中看到的确切错误。
db, err := sql.Open("postgres", "user=pqgotest dbname=pqgotest sslmode=verify-full")
db, err := sql.Open("postgres", "dbname=dat_test user=dat password=!test host=localhost sslmode=disable")
db, err := sql.Open("postgres", "postgres://pqgotest:password@localhost/pqgotest?sslmode=verify-full")