我正在尝试使用Go Web Programming一书中的Chitchat go app。原始版本有效。当我使用用户&密码访问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)列出闲聊数据库中的所有序列
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;
有更好的方法吗?提前谢谢。
答案 0 :(得分:0)
只有超级用户才能在您的postgress数据库中创建用户。所以这样做..
<% @product.images.each do |image| %>
<%= image_tag(image.url) %>
<% end %>