2015-11-01 19:50:55 +05:30
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
user=gitlab
|
|
|
|
dbname=gitlab_production
|
|
|
|
|
2015-11-03 18:15:04 +05:30
|
|
|
# If gitlab user cannot access gitlab_production,
|
|
|
|
# then it means the gitlab role does not exist
|
2016-01-29 21:37:47 +05:30
|
|
|
if ! su gitlab -c 'psql gitlab_production -c ""'
|
2015-11-01 19:50:55 +05:30
|
|
|
then
|
|
|
|
echo "Create $user user with create database privillege..."
|
2016-01-29 21:57:02 +05:30
|
|
|
su postgres -c "psql -c \"CREATE USER $user CREATEDB;\"" || {
|
2015-11-01 19:50:55 +05:30
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
fi
|
|
|
|
|
2015-11-03 18:15:04 +05:30
|
|
|
# By default the gitlab_prodcution is not owned by gitlab user
|
2015-11-01 19:50:55 +05:30
|
|
|
echo "Make $user user owner of $dbname database..."
|
2016-01-29 21:57:02 +05:30
|
|
|
su postgres -c "psql -c \"ALTER DATABASE $dbname OWNER to $user;\"" || {
|
2015-11-01 19:50:55 +05:30
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
echo "Grant all privileges to $user user..."
|
2016-01-29 22:24:20 +05:30
|
|
|
su postgres -c "psql -c \"GRANT ALL PRIVILEGES ON DATABASE template1 to $user;\"" || {
|
2015-11-01 19:50:55 +05:30
|
|
|
exit 1
|
|
|
|
}
|
2016-06-02 21:00:27 +05:30
|
|
|
|
|
|
|
# enable the pg_trgm extension
|
2016-06-03 14:40:13 +05:30
|
|
|
su postgres -c "psql -d $dbname -c \"CREATE EXTENSION IF NOT EXISTS pg_trgm;\"" || {
|
2016-06-02 21:00:27 +05:30
|
|
|
exit 1
|
|
|
|
}
|