debian-mirror-gitlab/debian/grantpriv.sh
Praveen Arimbrathodiyil 418b1b81b1 Patch by Benjamin Drung
Use 'set -e' to let the script fail when any command fails. This allows
us to remove the "command || exit 1" constructs.
2017-02-15 11:09:50 +05:30

25 lines
913 B
Bash
Executable file

#!/bin/sh
set -e
dbname=gitlab_production
# Take gitlab_user from envornment variable or use gitlab
test -n "${gitlab_user:-}" || gitlab_user="gitlab"
# If gitlab user cannot access gitlab_production,
# then it means the gitlab role does not exist
if ! su ${gitlab_user} -c 'psql gitlab_production -c ""'
then
echo "Create ${gitlab_user} user with create database privillege..."
su postgres -c "psql -c \"CREATE USER ${gitlab_user} CREATEDB;\""
fi
# By default the gitlab_prodcution is not owned by gitlab user
echo "Make ${gitlab_user} user owner of $dbname database..."
su postgres -c "psql -c \"ALTER DATABASE $dbname OWNER to ${gitlab_user};\""
echo "Grant all privileges to ${gitlab_user} user..."
su postgres -c "psql -c \"GRANT ALL PRIVILEGES ON DATABASE template1 to ${gitlab_user};\""
# enable the pg_trgm extension
su postgres -c "psql -d $dbname -c \"CREATE EXTENSION IF NOT EXISTS pg_trgm;\""