使用密码创建角色时出现语法错误?

时间:2017-06-29 15:24:21

标签: bash postgresql

我正在编写一个脚本,该脚本将根据两个环境变量创建一个具有特定密码的Postgres用户。但是,以下代码不起作用,我不知道为什么。

export TESTING_DATABASE_USERNAME="yoshi"
export TESTING_DATABASE_PASSWORD="yoshi"
#...
CREATE ROLE $TESTING_DATABASE_USERNAME WITH LOGIN PASSWORD "$TESTING_DATABASE_PASSWORD";
------------------------------------------------------
ERROR:  syntax error at or near ""yoshi""
LINE 1: CREATE ROLE yoshi WITH LOGIN PASSWORD "yoshi";

当我删除$TESTING_DATABASE_PASSWORD周围的引号时,我收到此错误:

ERROR:  syntax error at or near "yoshi"
LINE 1: CREATE ROLE yoshi WITH LOGIN PASSWORD yoshi;

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,不确定它是多么“正确”。

export TESTING_DATABASE_PASSWORD="yoshi"
TESTING_DATABASE_PASSWORD="'$TESTING_DATABASE_PASSWORD'"
#...
CREATE ROLE $TESTING_DATABASE_USERNAME WITH LOGIN PASSWORD $TESTING_DATABASE_PASSWORD;