diff --git a/installation/resource/installer/bin/backup-databases.sh b/installation/resource/installer/bin/backup-databases.sh
index 422c7475ba7d6698735f16692baf0847224cfbe0..06910f3b0c966ff740d6c5855a36cd7a89fdef54 100755
--- a/installation/resource/installer/bin/backup-databases.sh
+++ b/installation/resource/installer/bin/backup-databases.sh
@@ -60,7 +60,9 @@ function backupDatabase() {
   if [ $(checkForBackup $database) == "FALSE" ]; then
     return
   fi
-  if [ $(databaseExist $database) == "TRUE" ]; then
+
+  local user_name_for_check=$(getProperty $DB_PROPS "username")
+  if [ $(databaseExist $database $user_name_for_check) == "TRUE" ]; then
     username=$(getProperty $DB_PROPS "username")
   
     local dumpDir=$BACKUP_DIR/$database
diff --git a/installation/resource/installer/bin/common-functions.sh b/installation/resource/installer/bin/common-functions.sh
index 756336c3cee12c6753a930b348baef64e8115bc4..b5fe23e67d5411eeb1240433d8e88439cd9ec88c 100644
--- a/installation/resource/installer/bin/common-functions.sh
+++ b/installation/resource/installer/bin/common-functions.sh
@@ -50,7 +50,8 @@ contains()
 databaseExist()
 {
   local database=$1
-  if [ `exe_psql -U postgres -l | eval "awk '/$database /'" | wc -l` -gt 0 ]; then
+  local owner=$2
+  if [ `exe_psql -U $owner -l | eval "awk '/$database /'" | wc -l` -gt 0 ]; then
     echo "TRUE"
   else
     echo "FALSE"
diff --git a/installation/resource/installer/bin/database-existence-check.sh b/installation/resource/installer/bin/database-existence-check.sh
index a38c8f4e7ebcf8e6baacea843f65994a44f33907..f0a4e8b1c6745894706436a6e4c24147f8f17a6c 100644
--- a/installation/resource/installer/bin/database-existence-check.sh
+++ b/installation/resource/installer/bin/database-existence-check.sh
@@ -10,5 +10,6 @@ fi
 source $BASE/common-functions.sh
 
 DATABASE="$1"
+OWNER="$2"
 
-databaseExist "$DATABASE"
\ No newline at end of file
+databaseExist "$DATABASE" "$OWNER"
\ No newline at end of file
diff --git a/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/DBConnectionValidator.java b/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/DBConnectionValidator.java
index 56c1bfb90d1ef13dfb19e9c5cb4d1812a560bcc3..a4c453108b1aa970ed372d35523b919fb006362b 100644
--- a/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/DBConnectionValidator.java
+++ b/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/DBConnectionValidator.java
@@ -37,8 +37,6 @@ public class DBConnectionValidator extends AbstractDataValidator
 
     private static final String CONNECTION_STRING = "jdbc:postgresql://localhost/template1";
 
-    private static final String POSTGRES_USER = "postgres";
-
     private static final String NO_PASSWORD = "";
 
     @Override
@@ -72,14 +70,8 @@ public class DBConnectionValidator extends AbstractDataValidator
         {
             return Status.OK;
         }
-        String admin = getAdmin();
-        String adminPassword = getAdminPassword();
         String owner = getOwner();
         String ownerPassword = getOwnerPassword();
-        if (testConnectionOK(admin, adminPassword, "database.admin-user") == false)
-        {
-            return Status.ERROR;
-        }
         if (testConnectionOK(owner, ownerPassword, "database.owner") == false)
         {
             return Status.ERROR;
@@ -116,33 +108,6 @@ public class DBConnectionValidator extends AbstractDataValidator
         return password == null ? "" : password;
     }
 
-    private String getAdmin()
-    {
-        String defaultAdmin = POSTGRES_USER;
-        if (GlobalInstallationContext.isFirstTimeInstallation)
-        {
-            return defaultAdmin;
-        }
-        String admin =
-                Utils.tryToGetServicePropertyOfAS(GlobalInstallationContext.installDir,
-                        "database.admin-user");
-        if (admin != null && admin.length() > 0)
-        {
-            return admin;
-        }
-        return defaultAdmin;
-    }
-
-    private String getAdminPassword()
-    {
-        if (GlobalInstallationContext.isFirstTimeInstallation)
-        {
-            return NO_PASSWORD;
-        }
-        return Utils.tryToGetServicePropertyOfAS(GlobalInstallationContext.installDir,
-                "database.admin-password");
-    }
-
     private boolean testConnectionOK(String username, String password, String messagePostfix)
     {
         boolean connected = false;
diff --git a/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/ExecuteBackupAction.java b/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/ExecuteBackupAction.java
index 4ae5ce6dde01f15e026e97b7ea3055283e79f4a5..5e972acc21d77088ede13d3335028f016900d647 100644
--- a/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/ExecuteBackupAction.java
+++ b/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/ExecuteBackupAction.java
@@ -16,6 +16,9 @@
 
 package ch.systemsx.cisd.openbis.installer.izpack;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import com.izforge.izpack.api.data.AutomatedInstallData;
 import com.izforge.izpack.api.data.PanelActionConfiguration;
 import com.izforge.izpack.api.handler.AbstractUIHandler;
@@ -40,23 +43,31 @@ public class ExecuteBackupAction extends AbstractScriptExecutor implements Panel
         String backupFolder = data.getVariable(GlobalInstallationContext.BACKUP_FOLDER_VARNAME);
         String dataBasesToBackup = data.getVariable(SetDatabasesToBackupAction.DATABASES_TO_BACKUP_VARNAME);
         String console = data.getVariable("SYSTEM_CONSOLE");
+
+        String password =
+                Utils.tryToGetServicePropertyOfAS(GlobalInstallationContext.installDir,
+                        "database.owner-password");
+        
+        Map<String, String> env = new HashMap<String, String>();
+        env.put("PGPASSWORD", password);
+
         if (dataBasesToBackup == null)
         {
             if (console == null)
             {
-                executeAdminScript(null, script, backupFolder);
+                executeAdminScript(env, script, backupFolder);
             } else
             {
-                executeAdminScript(null, script, backupFolder, "", console);
+                executeAdminScript(env, script, backupFolder, "", console);
             }
         } else
         {
             if (console == null)
             {
-                executeAdminScript(null, script, backupFolder, dataBasesToBackup);
+                executeAdminScript(env, script, backupFolder, dataBasesToBackup);
             } else
             {
-                executeAdminScript(null, script, backupFolder, dataBasesToBackup, console);
+                executeAdminScript(env, script, backupFolder, dataBasesToBackup, console);
             }
         }
     }
diff --git a/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/SetDatabasesToBackupAction.java b/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/SetDatabasesToBackupAction.java
index 0a5fc5a128f47dfca45fa3ec9ca358c260b43655..4d35fb8b63752a73017850b31e8ed87ae0ad00b4 100644
--- a/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/SetDatabasesToBackupAction.java
+++ b/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/SetDatabasesToBackupAction.java
@@ -19,7 +19,9 @@ package ch.systemsx.cisd.openbis.installer.izpack;
 import java.io.File;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.commons.io.output.ByteArrayOutputStream;
 
@@ -93,7 +95,18 @@ public class SetDatabasesToBackupAction extends AbstractScriptExecutor implement
             return true;
         }
         ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-        executeAdminScript(null, outputStream, outputStream, scriptFile.getAbsolutePath(), database);
+
+        String owner =
+                Utils.tryToGetServicePropertyOfAS(GlobalInstallationContext.installDir,
+                        "database.owner");
+        String password =
+                Utils.tryToGetServicePropertyOfAS(GlobalInstallationContext.installDir,
+                        "database.owner-password");
+        
+        Map<String, String> env = new HashMap<String, String>();
+        env.put("PGPASSWORD", password);
+        
+        executeAdminScript(env, outputStream, outputStream, scriptFile.getAbsolutePath(), database, owner);
         return outputStream.toString().trim().equals("FALSE") == false;
 
     }