Postgresql 尝试授予特权时关系不存在

Postgresql 尝试授予特权时关系不存在,postgresql,vagrant,Postgresql,Vagrant,我目前正在写一个脚本来构建我的流浪者盒子。我安装了PHP7和其他一些工具,以及PostgreSQL,但是当创建数据库并尝试授予特权时,我遇到了以下错误 错误:关系“projectname”不存在 这是我的剧本(重要的东西) 直到最后一步,一切都正常 sudo-u postgres psql-c“将$projectname上的所有特权授予$projectname;” 当我尝试这个时,我得到了上面的错误。我还尝试手动编写 sudo-u postgres psql-c“将projectname上的所有

我目前正在写一个脚本来构建我的流浪者盒子。我安装了PHP7和其他一些工具,以及PostgreSQL,但是当创建数据库并尝试授予特权时,我遇到了以下错误

错误:关系“projectname”不存在

这是我的剧本(重要的东西)

直到最后一步,一切都正常

sudo-u postgres psql-c“将$projectname上的所有特权授予$projectname;”

当我尝试这个时,我得到了上面的错误。我还尝试手动编写

sudo-u postgres psql-c“将projectname上的所有特权授予projectname;”

同样的错误

我还试着用引号把它括起来

sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON 'feedparser' TO 'feedparser';"

sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON \"feedparser\" TO \"feedparser\";"
我到底做错了什么?

关于的文档说,您的version GRANT命令适合向表授予权限。若要向数据库授予权限,应使用
将数据库projectname上的所有权限授予projectname。下面我将显示此命令的结果:

postgres=# CREATE USER projectname WITH PASSWORD 'projectname';
CREATE ROLE
postgres=# CREATE DATABASE projectname;
CREATE DATABASE
postgres=# GRANT ALL PRIVILEGES ON projectname TO projectname;
ERROR:  relation "projectname" does not exist
postgres=# GRANT ALL PRIVILEGES ON DATABASE projectname TO projectname;
GRANT

谢谢就这样。后来我自己发现了,但既然我没有写在什么地方,我就接受你的答案。正如您所说:我只需将数据库添加到查询中,就可以了。
postgres=# CREATE USER projectname WITH PASSWORD 'projectname';
CREATE ROLE
postgres=# CREATE DATABASE projectname;
CREATE DATABASE
postgres=# GRANT ALL PRIVILEGES ON projectname TO projectname;
ERROR:  relation "projectname" does not exist
postgres=# GRANT ALL PRIVILEGES ON DATABASE projectname TO projectname;
GRANT