Modification : $vm_ -> $local_ .
[lhc/ateliers.git] / local / postgresql-user-create
1 #!/bin/sh -eux
2 user="$1"
3 db="${2-}"
4 sudo -u postgres psql "${db-}" -a -f - <<-EOF
5 \set ON_ERROR_STOP on
6 DO LANGUAGE plpgsql \$\$
7 BEGIN
8 IF NOT EXISTS (
9 SELECT *
10 FROM pg_catalog.pg_user
11 WHERE usename = '$user'
12 LIMIT 1
13 ) THEN
14 CREATE ROLE $user
15 LOGIN
16 NOCREATEDB
17 NOCREATEROLE
18 NOINHERIT
19 NOSUPERUSER;
20 END IF;
21 END;
22 \$\$;
23 GRANT USAGE ON SCHEMA public TO $user;
24 ${db:+GRANT CONNECT,TEMPORARY ON DATABASE $db TO $user;}
25 EOF