gpt4 book ai didi

postgresql - golang -- 使用用户名和密码连接到 postgresql 时无法创建用户

转载 作者:数据小太阳 更新时间:2023-10-29 03:37:36 25 4
gpt4 key购买 nike

我正在试用 Go Web Programming 一书中的 Chitchat go 应用程序。原始版本有效。当我使用用户和密码访问postgresql时,它可以连接到db但无法创建新用户,如下所示:

func db() (database *sql.DB) {
database, err := sql.Open("postgres", "dbname=chitchat user=tom password=tomahawk sslmode=disable")
if err != nil {
log.Fatal(err)
fmt.Println("Db connection failed")
}
return
}

这是 Github 上的完整代码.

不过,我找到了一个临时解决方案,但它需要授予对 chitchat 数据库中所有序列的访问权限。即使在我申请了

GRANT ALL PRIVILEGES ON DATABASE chitchat to tom;

它仍然需要对每个表序列进行手动授权。以下是采取的步骤:

1) 授予对数据库的访问权限

GRANT all privileges on database chitchat to tom;

2) 列出chitchat数据库中的所有序列

SELECT c.relname FROM pg_class c WHERE c.relkind = 'S';

3) 授予他们每个人的访问权限

GRANT all privileges on sequence users_id_seq to tom;
GRANT all privileges on sequence threads_id_seq to tom;
GRANT all privileges on sequence posts_id_seq to tom;
GRANT all privileges on sequence sessions_id_seq to tom;

有没有更好的方法?提前致谢。

最佳答案

只有 super 用户可以在您的 postgres 数据库中创建用户。所以让它成为..

用 super 用户更改用户 tom;

关于postgresql - golang -- 使用用户名和密码连接到 postgresql 时无法创建用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32730703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com