diff --git a/hsarback/src/de/hsadmin/mods/db/PgSqlDatabaseProcessorFactory.java b/hsarback/src/de/hsadmin/mods/db/PgSqlDatabaseProcessorFactory.java index 18e5a12..83fe7a8 100644 --- a/hsarback/src/de/hsadmin/mods/db/PgSqlDatabaseProcessorFactory.java +++ b/hsarback/src/de/hsadmin/mods/db/PgSqlDatabaseProcessorFactory.java @@ -45,6 +45,7 @@ public class PgSqlDatabaseProcessorFactory implements EntityProcessorFactory { assert db.getInstance().equals("pgsql"); JDBCProcessor aJDBCP = createPostgreSqlAdminProcessor(); String aName = AbstractEntity.escapeString(db.getName()); + aJDBCP.addSQL("SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname='" + aName + "'"); aJDBCP.addSQL("DROP DATABASE " + aName); return aJDBCP; } diff --git a/hsarback/src/de/hsadmin/mods/db/PgSqlUserProcessorFactory.java b/hsarback/src/de/hsadmin/mods/db/PgSqlUserProcessorFactory.java index 3c77888..27da80c 100644 --- a/hsarback/src/de/hsadmin/mods/db/PgSqlUserProcessorFactory.java +++ b/hsarback/src/de/hsadmin/mods/db/PgSqlUserProcessorFactory.java @@ -40,6 +40,7 @@ public class PgSqlUserProcessorFactory implements EntityProcessorFactory { assert dbu.getInstance().equals("pgsql"); JDBCProcessor aJDBCP = PgSqlDatabaseProcessorFactory.createPostgreSqlAdminProcessor(); String aName = AbstractEntity.escapeString(dbu.getName()); + aJDBCP.addSQL("SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE usename='" + aName + "'"); aJDBCP.addSQL("DROP USER " + aName); return aJDBCP; }