Skip to content

Commit 2a872dc

Browse files
authored
Merge pull request #130 from romga/add-terminate-backend-to-drop-database
add termination of backend before deleting the database
2 parents 2f9870f + a51a2ac commit 2a872dc

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

pkg/postgres/database.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,18 @@ func (c *pg) CreateSchema(db, role, schema string, logger logr.Logger) error {
5858
}
5959

6060
func (c *pg) DropDatabase(database string, logger logr.Logger) error {
61-
_, err := c.db.Exec(fmt.Sprintf(DROP_DATABASE, database))
61+
_, err := c.db.Exec(fmt.Sprintf(REVOKE_CONNECT, database))
62+
// Error code 3D000 is returned if database doesn't exist
63+
if err != nil && err.(*pq.Error).Code != "3D000" {
64+
return err
65+
}
66+
67+
_, err = c.db.Exec(fmt.Sprintf(TERMINATE_BACKEND, database))
68+
// Error code 3D000 is returned if database doesn't exist
69+
if err != nil && err.(*pq.Error).Code != "3D000" {
70+
return err
71+
}
72+
_, err = c.db.Exec(fmt.Sprintf(DROP_DATABASE, database))
6273
// Error code 3D000 is returned if database doesn't exist
6374
if err != nil && err.(*pq.Error).Code != "3D000" {
6475
return err

0 commit comments

Comments
 (0)