When my Debian server deploys it can run a shell script so I wanted to make one to install postgreSQL, create a role, create two databases and then import a schema into one. Can anyone please look at this code and tell me if I have done an ok job? # POSTGRESapt-get install -y postgresqlecho CREATE ROLE deploy LOGIN ENCRYPTED PASSWORD '$APP_DB_PASS'; | sudo -u postgres psqlsu postgres -c createdb db1 --owner deploysu postgres -c createdb db2 --owner deployservice postgresql reload# IMPORT SQLpsql --username=postgres spider < /etc/schema.sql
Automating the install of PostgreSQL from Shell
sql;bash;shell;postgresql
I recommend using psql -c command for the first invocation of psql, or better yet, just use the createuser command.For the second invocation, you might want psql -f /etc/schema.sql.  I would also suggest using the --single-transaction flag, so that in the unlikely event of an error, the failure will be blatantly obvious since the spider database will be empty.  (I assume you will also create a database named spider sometime before trying to import data into it.)