#!/bin/sh user=gitlab dbname=gitlab_production # If gitlab user cannot access gitlab_production, # then it means the gitlab role does not exist if ! su gitlab -s /bin/sh -c 'psql gitlab_production -c ""' then echo "Create $user user with create database privillege..." sudo -u postgres psql -c "CREATE USER $user CREATEDB;" || { exit 1 } fi # By default the gitlab_prodcution is not owned by gitlab user echo "Make $user user owner of $dbname database..." sudo -u postgres psql -c "ALTER DATABASE $dbname OWNER to $user;" || { exit 1 } echo "Grant all privileges to $user user..." sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE template1 to $user;"|| { exit 1 }