From 130d648e8125feb9db3ed1559b05f5e916d0c9b2 Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Mon, 14 Sep 2020 16:55:38 -0400 Subject: [PATCH] adjust initial db setup --- bin/first_time_ubuntu.sh | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/bin/first_time_ubuntu.sh b/bin/first_time_ubuntu.sh index f01ba4b1..2e335e18 100755 --- a/bin/first_time_ubuntu.sh +++ b/bin/first_time_ubuntu.sh @@ -7,6 +7,16 @@ function die { exit 1 } +function db_user_exists { + username="${1}" + num_users="$(echo "select count(*) from pg_user where usename='${username}'" | su - postgres psql -qt | egrep -v '^$')" + if [[ -z "${num_users}" || ${num_users} -eq 0 ]] ; then + echo "0" + else + echo "1" + fi +} + # Ensure system is current sudo apt update -y || die "Error running apt update" sudo apt upgrade -y || die "Error running apt upgrade" @@ -21,7 +31,11 @@ BUBBLE_BIN="$(cd "$(dirname "${0}")" && pwd)" # Create DB user for current user, as superuser CURRENT_USER="$(whoami)" -sudo su - postgres bash -c 'createuser -U postgres --createdb --createrole --superuser '"${CURRENT_USER}"'' || die "Error creating ${CURRENT_USER} DB user" +if [[ $(db_user_exists ${CURRENT_USER}) ]] ; then + echo "PostgreSQL user ${CURRENT_USER} already exists, not creating" +else + sudo su - postgres bash -c 'createuser -U postgres --createdb --createrole --superuser '"${CURRENT_USER}"'' || die "Error creating ${CURRENT_USER} DB user" +fi PG_HBA=$(find /etc/postgresql -mindepth 1 -maxdepth 1 -type d | sort | tail -1)/main/pg_hba.conf sudo cat ${PG_HBA} | sed -e 's/ peer/ trust/g' | sed -e 's/ md5/ trust/g' > /tmp/pg_hba.conf || die "Error filtering ${PG_HBA}" @@ -30,6 +44,3 @@ sudo service postgresql restart || die "Error restarting pgsql" # Create DB user 'bubble', with the ability to create databases createuser --createdb bubble || die "Error creating bubble DB user" - -# Create bubble database -createdb --encoding=UTF-8 bubble || die "Error creating bubble DB"