github.com/blend/go-sdk@v1.20220411.3/db/dbutil/close_all_connections.go (about)

     1  /*
     2  
     3  Copyright (c) 2022 - Present. Blend Labs, Inc. All rights reserved
     4  Use of this source code is governed by a MIT license that can be found in the LICENSE file.
     5  
     6  */
     7  
     8  package dbutil
     9  
    10  import (
    11  	"context"
    12  
    13  	"github.com/blend/go-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  }