diff --git a/setup.sh b/setup.sh
index fb5488c051d44d920ef8e19dc4a70070aa384c99..9796b902bf0bf5fa20628246c06952b11870e341 100644
--- a/setup.sh
+++ b/setup.sh
@@ -11,6 +11,14 @@ fi
 export DM_ROOT_DIR=`pwd`
 export DM_HOST_ARCH=`uname | tr [A-Z] [a-z]`-`uname -m`
 
+if [ -z $DM_INSTALL_DIR ]; then
+    export DM_INSTALL_DIR=$DM_ROOT_DIR/..
+    if [ -d $DM_INSTALL_DIR ]; then
+        cd $DM_INSTALL_DIR
+        export DM_INSTALL_DIR=`pwd`
+    fi
+fi
+
 if [ -z $DM_DATA_DIR ]; then
     export DM_DATA_DIR=$DM_ROOT_DIR/../data
     if [ -d $DM_DATA_DIR ]; then
@@ -93,6 +101,20 @@ else
 fi
 export PYTHONPATH
 
+# Setup postgres. 
+if [ -z $DM_POSTGRESQL_DIR ]; then
+    postgresqlDir=$DM_SUPPORT_DIR/postgresql/$DM_HOST_ARCH
+else
+    postgresqlDir=$DM_POSTGRESQL_DIR 
+fi
+if [ -d $postgresqlDir ]; then
+    cd $postgresqlDir
+    postgresqlDir=`pwd`
+    export PATH=`pwd`/bin:$PATH
+    export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH
+    export DM_POSTGRESQL_DIR=$postgresqlDir
+fi
+
 # Get back to where we were before invoking the setup script
 cd $currentDir