Create postgresql 9.1 tablespaces for users
[hcoop/scripts.git] / create-user-database
index 99293b0..22a4b86 100755 (executable)
@@ -8,16 +8,29 @@ USER=$1
 PATHBITS=`echo $USER | head -c 1`/`echo $USER | head -c 2`/$USER
 DBPATH=/srv/databases/$PATHBITS
 PGDIR=$DBPATH/postgres
+PGNEWDIR="$DBPATH/postgres-9.1"
 MYSQLDIR=$DBPATH/mysql
 
 # Create postgres user and tablespace placeholder within volume
+# FIXME: This assumes the status-quo of database accounts not being
+# removed by destroy-user...
 if ! test -d $PGDIR; then
+# postgres 8.1
   mkdir -p $PGDIR
   chown postgres:postgres $PGDIR
+  sudo -u postgres psql --cluster 8.1/main -c "CREATE TABLESPACE \"user_$USER\" OWNER postgres LOCATION '$PGDIR'" template1
 fi
 
-sudo -u postgres psql -c "CREATE TABLESPACE user_$USER OWNER postgres LOCATION '$PGDIR'" template1
+if ! test -d $PGNEWDIR; then
+# postgres 9.1
+  mkdir -p $PGNEWDIR
+  chown postgres:postgres $PGNEWDIR
+  sudo -u postgres psql --cluster 9.1/main -c "CREATE TABLESPACE \"user_$USER\" OWNER postgres LOCATION '$PGNEWDIR'" template1
+fi
 
 # Create mysql user and databases placeholder within volume
-mkdir -p $MYSQLDIR
-chown mysql:mysql $MYSQLDIR
\ No newline at end of file
+# FIXME: Same as postgres...
+if ! test -d $MYSQLDIR; then
+    mkdir -p $MYSQLDIR
+    chown mysql:mysql $MYSQLDIR
+fi
\ No newline at end of file