我有一个在部署时运行的shell脚本,我有以下几行:
# Database
createdb $DBNAME
createuser -D -A $DBNAME
但是,在我的日志中,我收到此错误:
有人会介意告诉我这里出了什么问题以及如何纠正我的台词。当然root应该有权这样做吗?
答案 0 :(得分:3)
答案 1 :(得分:3)
执行此操作的最佳方法是:
,特别是如果您希望脚本可移植su --login postgres --command "createdb $DBNAME"
这比使用-U
更安全,更安全,更便携。我在所有的posgreSQL脚本中这样做。你可能会发现它是一种有用的技术。显然它仍然需要以root用户身份运行(例如使用sudo
)。