在shell中自动安装和创buildpostgresql数据库

我正尝试通过自动shell脚本在postgresql下创build两个名为spider和geo的数据库。 这是迄今为止的代码。

apt-get install -y postgresql echo "CREATE ROLE deploy LOGIN ENCRYPTED PASSWORD '$APP_DB_PASS';" | sudo -u postgres psql su postgres -c "createdb spider --owner deploy" su postgres -c "createdb geo --owner deploy" /etc/init.d/postgresql reload 

任何人都可以请看看,看看我是否正确的方式。 此外,当我尝试通过运行以下命令来查看它是否工作时,我得到一个错误:

 root:~# psql -l psql: FATAL: role "root" does not exist 

我哪里错了,有什么办法来改善这个脚本?

通过apt-get判断,您的部署平台是Ubuntu(ish)。

 apt-get install -y postgresql echo "CREATE ROLE deploy LOGIN ENCRYPTED PASSWORD '$APP_DB_PASS';" | sudo -u postgres psql su postgres -c "createdb spider --owner deploy" su postgres -c "createdb geo --owner deploy" service postgresql reload 

那么你应该可以通过在命令行上指定一个用户来登录:

 psql -U root spider 

要么

 psql -U deploy spider 

一般来说,你在正确的轨道上。