Browse Source

feat: add create_customer script

master
bucde 3 years ago
parent
commit
a254241329
1 changed files with 41 additions and 0 deletions
  1. +41
    -0
      create_customer

+ 41
- 0
create_customer View File

@ -0,0 +1,41 @@
#!/bin/bash
echo '####################################################################'
echo '# docker_postgres_create_customer_script #'
echo '# Dennis Buchhorn - bucde@b-eit.de #'
echo '####################################################################'
echo '# WARNING: password is clear text! #'
#echo '# #'
echo '####################################################################'
echo ''
POSTGRES_ADMIN_USER=''
POSTGRES_CUSTOMER_NAME=''
POSTGRES_CUSTOMER_PASSWORD=''
read -p 'Enter postgres admin user name: ' POSTGRES_ADMIN_USER
read -p 'Enter customer name: ' POSTGRES_CUSTOMER_NAME
read -p 'Enter customer password: ' POSTGRES_CUSTOMER_PASSWORD
POSTGRES_CUSTOMER_DBNAME="${POSTGRES_CUSTOMER_NAME}db"
rm -f tmp
touch tmp
echo "CREATE ROLE "$POSTGRES_CUSTOMER_DBNAME" NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT NOLOGIN;" >> tmp
echo "CREATE ROLE "$POSTGRES_CUSTOMER_NAME" NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT LOGIN ENCRYPTED PASSWORD '"$POSTGRES_CUSTOMER_PASSWORD"';" >> tmp
echo "GRANT "$POSTGRES_CUSTOMER_DBNAME" TO "$POSTGRES_CUSTOMER_NAME";" >> tmp
echo "CREATE DATABASE "$POSTGRES_CUSTOMER_DBNAME" WITH OWNER="$POSTGRES_CUSTOMER_NAME";" >> tmp
echo "REVOKE ALL ON DATABASE "$POSTGRES_CUSTOMER_DBNAME" FROM public;" >> tmp
cat tmp | docker exec -i postgres psql -U $POSTGRES_ADMIN_USER -d template1
rm -f tmp
touch tmp
echo "GRANT ALL ON SCHEMA public TO "$POSTGRES_CUSTOMER_NAME" WITH GRANT OPTION;" >> tmp
cat tmp | docker exec -i postgres psql -U $POSTGRES_ADMIN_USER -d $POSTGRES_CUSTOMER_DBNAME
rm -f tmp
echo "Database '"$POSTGRES_CUSTOMER_DBNAME"' with user '"$POSTGRES_CUSTOMER_NAME"' created."
echo 'Done!'

Loading…
Cancel
Save