首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgres:在一行中创建角色

Postgres:在一行中创建角色
EN

Stack Overflow用户
提问于 2018-05-19 21:37:33
回答 1查看 2.6K关注 0票数 1

我想在一行中创建一个角色/用户。以下是我尝试过的:

代码语言:javascript
复制
psql -U postgres -c 'createuser my_app with createdb login password 'my_password';'
psql: warning: extra command-line argument "with" ignored
psql: warning: extra command-line argument "createdb" ignored
psql: warning: extra command-line argument "login" ignored
psql: warning: extra command-line argument "password" ignored
psql: warning: extra command-line argument "'my_password';'" ignored
psql: FATAL:  database "my_app" does not exist

代替createuser,我也尝试了create usercreate role,但是无论如何,我也会得到相同的错误。我在Windows上使用(PostgreSQL) 9.6.2

我做错了什么?

更新:

我试着用双引号,但出于某种原因,postgres似乎不喜欢我的双引号。在单引号中使用双引号神秘地工作->谢谢@Laurenz

代码语言:javascript
复制
psql -U postgres -c "createuser my_app with createdb login password 'my_password';"
ERROR:  syntax error at or near "createuser"
LINE 1: createuser my_app with createdb login password 'my_password'...
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-19 22:46:27

createuser不是一个SQL命令,所以这是行不通的。

CREATE USER是正确的,但您不能将单引号嵌套在这样的单引号中。

它应该是

代码语言:javascript
复制
psql -U postgres -c "CREATE USER my_app CREATEDB PASSWORD 'my_password'"
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50429699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档