能够在命令行中创建postgres数据库,但不能在bash脚本中创建

问题描述 投票:0回答:1

我正在尝试编写一个自动创建和填充数据库的bash脚本。

我发现我可以使用这些命令在命令行中创建数据库:

sudo su postgres
psql -c 'CREATE DATABASE routing;'
exit

之后我看到了数据库。但是,当我将它们放入shell脚本并运行它(使用sudo)时,不会创建数据库。有任何想法吗?

sql bash postgresql psql
1个回答
1
投票

在你sudo su之后你成为另一个用户。此时脚本将停止执行,直到退出用户,然后它将继续执行。

相反,如果你想运行postgres的东西,尝试像这样的smth:

sudo su postgres <<EOF
psql -c 'CREATE DATABASE routing;'
EOF
exit
© www.soinside.com 2019 - 2024. All rights reserved.