Don't leak so many connections in the pg backend

This change fixes an error I get:
Error: pq: too many connections for role "asdf"
because I can only have so many connections.
This commit is contained in:
Stephen Buergler 2019-04-30 23:32:05 -05:00
parent 6adcc7ab73
commit fc5b186e8d

View File

@ -65,7 +65,7 @@ func (b *Backend) configure(ctx context.Context) error {
// Prepare database schema, tables, & indexes. // Prepare database schema, tables, & indexes.
var query string var query string
query = `CREATE SCHEMA IF NOT EXISTS %s` query = `CREATE SCHEMA IF NOT EXISTS %s`
if _, err := db.Query(fmt.Sprintf(query, b.schemaName)); err != nil { if _, err := db.Exec(fmt.Sprintf(query, b.schemaName)); err != nil {
return err return err
} }
query = `CREATE TABLE IF NOT EXISTS %s.%s ( query = `CREATE TABLE IF NOT EXISTS %s.%s (
@ -73,11 +73,11 @@ func (b *Backend) configure(ctx context.Context) error {
name TEXT, name TEXT,
data TEXT data TEXT
)` )`
if _, err := db.Query(fmt.Sprintf(query, b.schemaName, statesTableName)); err != nil { if _, err := db.Exec(fmt.Sprintf(query, b.schemaName, statesTableName)); err != nil {
return err return err
} }
query = `CREATE UNIQUE INDEX IF NOT EXISTS %s ON %s.%s (name)` query = `CREATE UNIQUE INDEX IF NOT EXISTS %s ON %s.%s (name)`
if _, err := db.Query(fmt.Sprintf(query, statesIndexName, b.schemaName, statesTableName)); err != nil { if _, err := db.Exec(fmt.Sprintf(query, statesIndexName, b.schemaName, statesTableName)); err != nil {
return err return err
} }