Documentation ¶
Overview ¶
Package db provides Pool for communicationg with Postgre database.
Example usage:
// Preparing database connection pool DBPool, err := db.New( fmt.Sprintf("host=%s port=%s user=%s password=%s database=%s", config.Database.Host, config.Database.Port, config.Database.User, config.Database.Password, config.Database.Database), logger, config.Database.Connections.MaxIdle, config.Database.Connections.MaxLife, config.Database.Connections.MaxOpenIdle, config.Database.Connections.MaxOpen, ) // Creating table _, err := DBPool.ExecContext(context.Background(), "CREATE TABLE IF NOT EXISTS dummy(name TEXT);") if err != nil { fmt.Fprintf(os.Stderr, "table creation failed: %v\n", err) os.Exit(1) } // Adding data to table _, err := DBPool.ExecContext(context.Background(), "insert into dummy(name) values($1)", "app item") if err != nil { fmt.Fprintf(os.Stderr, "Insert failed: %v\n", err) os.Exit(1) } // Selecting data from table rows, _ := DBPool.QueryContext(context.Background(), "select * from dummy") for rows.Next() { var name string err := rows.Scan(&name) if err != nil { fmt.Fprintf(os.Stderr, "Scan failed: %v\n", err) } fmt.Printf("%s\n", name) }
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Pool ¶
Pool of connections for interaction with Database
func New ¶
func New( dsn string, logger *log.Logger, connMaxIdle time.Duration, connMaxLife time.Duration, connMaxOpenIdle int, connMaxOpen int, ) (*Pool, error)
New creates Pool of tcp connections to database
DSN for TCP conn is specified as: fmt.Sprintf("host=%s user=%s password=%s port=%s database=%s", dbTcpHost, dbUser, dbPwd, dbPort, dbName)
DSN for Unix socket is specified as: fmt.Sprintf("user=%s password=%s database=%s host=%s/%s", dbUser, dbPwd, dbName, socketDir, instanceConnectionName)
Click to show internal directories.
Click to hide internal directories.