#!/bin/bash TRACIM_DB_USER='tracim_user' TRACIM_DB_USER_PASSWORD='tracim_user_password' TRACIM_DB_NAME='tracim' # DB_HOST='127.0.0.1' # DB_PORT='5432' BUILD_DB_SQL=" CREATE USER ${TRACIM_DB_USER} WITH PASSWORD '${TRACIM_DB_USER_PASSWORD}'; CREATE DATABASE ${TRACIM_DB_NAME}; GRANT ALL PRIVILEGES ON DATABASE ${TRACIM_DB_NAME} TO ${TRACIM_DB_USER}; " if [ `whoami` != 'postgres' ]; then echo "This script is intended to be executed as postgres user." exit 1 fi echo "About to create a new database and user:" echo "- database: ${TRACIM_DB_NAME}" echo "- user: ${TRACIM_DB_USER}" echo "- password: xxxxxx" echo echo "Sleeping 10 seconds." echo "- stop process by CTRL+C if in doubt." echo "..." sleep 10 echo ${BUILD_DB_SQL} | psql #  -h ${DB_HOST} -p ${DB_PORT} # IF AN ERROR OCCURS, YOU CAN SIMPLY RESET YOUR POSTGRES SERVER # WITH THE FOLLOWING SQL COMMANDS (EXECUTED AS postgres USER): # # DROP DATABASE tracim # DROP OWNED BY tracim_master; # DROP USER tracim_master; # # or more faster: # # psql -c "DROP DATABASE tracim;" # psql -c "DROP OWNED BY tracim_master;" # psql -c "DROP USER tracim_master;" echo echo "You can now init schema and data by running the following command:" echo echo "psql -h 127.0.0.1 -U ${TRACIM_DB_USER} -W ${TRACIM_DB_NAME} < tracim-init-database.new.sql" echo echo "note that you'll be asked for the password"