diff -r 41738a0e98d1 -r 610cba0674b9 davical/davical-setup.sh --- a/davical/davical-setup.sh Tue Nov 29 18:44:37 2011 +0100 +++ b/davical/davical-setup.sh Thu Dec 01 13:24:24 2011 +0100 @@ -40,8 +40,10 @@ # create database ( echo "CREATE ROLE $db_user LOGIN ENCRYPTED PASSWORD '$db_pass' NOCREATEDB NOCREATEUSER;" echo "CREATE TABLESPACE $db_name OWNER $db_user LOCATION '$db_dir';" - echo "CREATE DATABASE $db_name OWNER $db_user TABLESPACE $db_name ENCODING 'SQL_ASCII';" + echo "CREATE DATABASE $db_name OWNER $db_user TABLESPACE $db_name TEMPLATE template0 ENCODING 'UTF8';" ) | PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d "$db_sname" -f- + + # ensure PL/PgSQL language is available PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" \ -c "CREATE LANGUAGE plpgsql;" @@ -55,7 +57,11 @@ PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ -f "@l_prefix@/lib/davical/davical/dba/base-data.sql" 2>&1 | grep -v NOTICE - # create schema 2/2 (from original "update-davical-database" script) + # create schema 2/3 (from nowhere, but required by appuser_permissions.txt below) + PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ + -f "@l_prefix@/lib/davical/davical/dba/views/dav_principal.sql" 2>&1 | grep -v NOTICE + + # create schema 3/3 (from original "update-davical-database" script) PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ -f "@l_prefix@/lib/davical/davical/dba/supported_locales.sql" 2>&1 | grep -v NOTICE PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ @@ -63,8 +69,6 @@ PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \ -f "@l_prefix@/lib/davical/davical/dba/rrule_functions.sql" 2>&1 | egrep -v '(NOTICE|ERROR)' PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d "$db_name" -A -t \ - -f "/opmi/lib/davical/davical/dba/views/dav_principal.sql" - PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d "$db_name" -A -t \ -f "@l_prefix@/lib/davical/davical/dba/appuser_permissions.txt" 2>&1 | grep -v NOTICE # set admin password @@ -73,8 +77,11 @@ ;; uninstall ) + # destroy PL/PgSQL language PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" \ -c "DROP LANGUAGE plpgsql CASCADE;" 2>&1 | grep -v NOTICE + + # destroy database ( echo "DROP DATABASE $db_name;" echo "DROP TABLESPACE $db_name;" echo "DROP ROLE $db_user;" @@ -82,6 +89,7 @@ ;; edit ) + # edit database PGPASSWORD="$db_spass" @l_prefix@/bin/psql -U "$db_suser" -d "$db_name" ;; esac