38 fi |
38 fi |
39 |
39 |
40 # create database |
40 # create database |
41 ( echo "CREATE ROLE $db_user LOGIN ENCRYPTED PASSWORD '$db_pass' NOCREATEDB NOCREATEUSER;" |
41 ( echo "CREATE ROLE $db_user LOGIN ENCRYPTED PASSWORD '$db_pass' NOCREATEDB NOCREATEUSER;" |
42 echo "CREATE TABLESPACE $db_name OWNER $db_user LOCATION '$db_dir';" |
42 echo "CREATE TABLESPACE $db_name OWNER $db_user LOCATION '$db_dir';" |
43 echo "CREATE DATABASE $db_name OWNER $db_user TABLESPACE $db_name ENCODING 'SQL_ASCII';" |
43 echo "CREATE DATABASE $db_name OWNER $db_user TABLESPACE $db_name TEMPLATE template0 ENCODING 'UTF8';" |
44 ) | PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d "$db_sname" -f- |
44 ) | PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d "$db_sname" -f- |
|
45 |
|
46 # ensure PL/PgSQL language is available |
45 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" \ |
47 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" \ |
46 -c "CREATE LANGUAGE plpgsql;" |
48 -c "CREATE LANGUAGE plpgsql;" |
47 |
49 |
48 # create schema 1/2 (from original "create_database" script) |
50 # create schema 1/2 (from original "create_database" script) |
49 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ |
51 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ |
53 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ |
55 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ |
54 -f "@l_prefix@/lib/davical/davical/dba/davical.sql" 2>&1 | grep -v NOTICE |
56 -f "@l_prefix@/lib/davical/davical/dba/davical.sql" 2>&1 | grep -v NOTICE |
55 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ |
57 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ |
56 -f "@l_prefix@/lib/davical/davical/dba/base-data.sql" 2>&1 | grep -v NOTICE |
58 -f "@l_prefix@/lib/davical/davical/dba/base-data.sql" 2>&1 | grep -v NOTICE |
57 |
59 |
58 # create schema 2/2 (from original "update-davical-database" script) |
60 # create schema 2/3 (from nowhere, but required by appuser_permissions.txt below) |
|
61 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ |
|
62 -f "@l_prefix@/lib/davical/davical/dba/views/dav_principal.sql" 2>&1 | grep -v NOTICE |
|
63 |
|
64 # create schema 3/3 (from original "update-davical-database" script) |
59 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ |
65 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ |
60 -f "@l_prefix@/lib/davical/davical/dba/supported_locales.sql" 2>&1 | grep -v NOTICE |
66 -f "@l_prefix@/lib/davical/davical/dba/supported_locales.sql" 2>&1 | grep -v NOTICE |
61 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ |
67 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ |
62 -f "@l_prefix@/lib/davical/davical/dba/caldav_functions.sql" 2>&1 | egrep -v '(NOTICE|ERROR)' |
68 -f "@l_prefix@/lib/davical/davical/dba/caldav_functions.sql" 2>&1 | egrep -v '(NOTICE|ERROR)' |
63 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ |
69 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ |
64 -f "@l_prefix@/lib/davical/davical/dba/rrule_functions.sql" 2>&1 | egrep -v '(NOTICE|ERROR)' |
70 -f "@l_prefix@/lib/davical/davical/dba/rrule_functions.sql" 2>&1 | egrep -v '(NOTICE|ERROR)' |
65 PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d "$db_name" -A -t \ |
|
66 -f "/opmi/lib/davical/davical/dba/views/dav_principal.sql" |
|
67 PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d "$db_name" -A -t \ |
71 PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d "$db_name" -A -t \ |
68 -f "@l_prefix@/lib/davical/davical/dba/appuser_permissions.txt" 2>&1 | grep -v NOTICE |
72 -f "@l_prefix@/lib/davical/davical/dba/appuser_permissions.txt" 2>&1 | grep -v NOTICE |
69 |
73 |
70 # set admin password |
74 # set admin password |
71 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" \ |
75 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" \ |
72 -c "UPDATE usr SET password = '**$admin_password' WHERE user_no = 1;" |
76 -c "UPDATE usr SET password = '**$admin_password' WHERE user_no = 1;" |
73 ;; |
77 ;; |
74 |
78 |
75 uninstall ) |
79 uninstall ) |
|
80 # destroy PL/PgSQL language |
76 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" \ |
81 PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" \ |
77 -c "DROP LANGUAGE plpgsql CASCADE;" 2>&1 | grep -v NOTICE |
82 -c "DROP LANGUAGE plpgsql CASCADE;" 2>&1 | grep -v NOTICE |
|
83 |
|
84 # destroy database |
78 ( echo "DROP DATABASE $db_name;" |
85 ( echo "DROP DATABASE $db_name;" |
79 echo "DROP TABLESPACE $db_name;" |
86 echo "DROP TABLESPACE $db_name;" |
80 echo "DROP ROLE $db_user;" |
87 echo "DROP ROLE $db_user;" |
81 ) | PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d "$db_sname" -f- |
88 ) | PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d "$db_sname" -f- |
82 ;; |
89 ;; |
83 |
90 |
84 edit ) |
91 edit ) |
|
92 # edit database |
85 PGPASSWORD="$db_spass" @l_prefix@/bin/psql -U "$db_suser" -d "$db_name" |
93 PGPASSWORD="$db_spass" @l_prefix@/bin/psql -U "$db_suser" -d "$db_name" |
86 ;; |
94 ;; |
87 esac |
95 esac |
88 |
96 |