go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/sdk/db/dbutil/close_all_connections.go (about) 1 /* 2 3 Copyright (c) 2023 - Present. Will Charczuk. All rights reserved. 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository. 5 6 */ 7 8 package dbutil 9 10 import ( 11 "context" 12 13 "go.charczuk.com/sdk/db" 14 ) 15 16 // CloseAllConnections closes all other connections to a database. 17 func CloseAllConnections(ctx context.Context, conn *db.Connection, databaseName string) error { 18 _, err := conn.Invoke(db.OptContext(ctx)).Exec(`select pg_terminate_backend(pid) from pg_stat_activity where datname = $1;`, databaseName) 19 return err 20 }