2017-06-29 76 views
0

我正在编写一个脚本,它将基于两个环境变量创建具有特定密码的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; 

回答

0

我找到了解决办法,不知道如何“正确”的。

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