1
0
Fork 0
telegraf/plugins/common/postgresql/service.go
Daniel Baumann 4978089aab
Adding upstream version 1.34.4.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-05-24 07:26:29 +02:00

42 lines
729 B
Go

package postgresql
import (
"database/sql"
"time"
// Blank import required to register driver
_ "github.com/jackc/pgx/v4/stdlib"
)
// Service common functionality shared between the postgresql and postgresql_extensible
// packages.
type Service struct {
DB *sql.DB
SanitizedAddress string
ConnectionDatabase string
dsn string
maxIdle int
maxOpen int
maxLifetime time.Duration
}
func (p *Service) Start() error {
db, err := sql.Open("pgx", p.dsn)
if err != nil {
return err
}
p.DB = db
p.DB.SetMaxOpenConns(p.maxOpen)
p.DB.SetMaxIdleConns(p.maxIdle)
p.DB.SetConnMaxLifetime(p.maxLifetime)
return nil
}
func (p *Service) Stop() {
if p.DB != nil {
p.DB.Close()
}
}