pgxpool

package
v1.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(dsn string) (ports.DatabasePool, error)

New creates a new database pool adapter.

Types

type Adapter

type Adapter struct {
	*pgxpool.Pool
}

Adapter wraps pgxpool.Pool to implement ports.DatabasePool.

func (*Adapter) Acquire

func (a *Adapter) Acquire(ctx context.Context) (ports.DatabaseConnection, error)

Acquire gets a connection from the pool.

func (*Adapter) Stat

func (a *Adapter) Stat() ports.DatabaseStats

Stat returns pool statistics.

type Connection

type Connection struct {
	*pgxpool.Conn
}

Connection wraps pgxpool.Conn to implement ports.DatabaseConnection.

func (*Connection) Begin

Begin starts a transaction.

func (*Connection) Exec

func (c *Connection) Exec(ctx context.Context, sql string, args ...any) (ports.DatabaseResult, error)

Exec executes a query without returning rows.

func (*Connection) Query

func (c *Connection) Query(ctx context.Context, sql string, args ...any) (ports.DatabaseRows, error)

Query executes a query and returns rows.

func (*Connection) QueryRow

func (c *Connection) QueryRow(ctx context.Context, sql string, args ...any) ports.DatabaseRow

QueryRow executes a query and returns a single row.

type Result

type Result struct {
	pgconn.CommandTag
}

Result wraps pgconn.CommandTag to implement ports.DatabaseResult.

type Row

type Row struct {
	pgx.Row
}

Row wraps pgx.Row to implement ports.DatabaseRow.

type Rows

type Rows struct {
	pgx.Rows
}

Rows wraps pgx.Rows to implement ports.DatabaseRows.

type Stats

type Stats struct {
	*pgxpool.Stat
}

Stats wraps pgxpool.Stat to implement ports.DatabaseStats.

func (*Stats) AcquireCount

func (s *Stats) AcquireCount() int64

AcquireCount returns the number of times a connection was acquired from the pool.

func (*Stats) AcquireDuration

func (s *Stats) AcquireDuration() time.Duration

AcquireDuration returns the total duration of all connection acquisitions.

func (*Stats) AcquiredConns

func (s *Stats) AcquiredConns() int32

AcquiredConns returns the number of currently acquired connections.

func (*Stats) CanceledAcquireCount

func (s *Stats) CanceledAcquireCount() int64

CanceledAcquireCount returns the number of times a connection acquisition was canceled.

func (*Stats) ConstructingConns

func (s *Stats) ConstructingConns() int32

ConstructingConns returns the number of connections currently being constructed.

func (*Stats) EmptyAcquireCount

func (s *Stats) EmptyAcquireCount() int64

EmptyAcquireCount returns the number of times a connection was requested when the pool was empty.

func (*Stats) IdleConns

func (s *Stats) IdleConns() int32

IdleConns returns the number of idle connections.

func (*Stats) MaxConns

func (s *Stats) MaxConns() int32

MaxConns returns the maximum number of connections in the pool.

func (*Stats) NewConnsCount

func (s *Stats) NewConnsCount() int64

NewConnsCount returns the number of new connections created.

func (*Stats) TotalConns

func (s *Stats) TotalConns() int32

TotalConns returns the total number of connections in the pool.

type Transaction

type Transaction struct {
	pgx.Tx
}

Transaction wraps pgx.Tx to implement ports.DatabaseTransaction.

func (*Transaction) Exec

func (t *Transaction) Exec(ctx context.Context, sql string, args ...any) (ports.DatabaseResult, error)

Exec executes a query without returning rows.

func (*Transaction) Query

func (t *Transaction) Query(ctx context.Context, sql string, args ...any) (ports.DatabaseRows, error)

Query executes a query and returns rows.

func (*Transaction) QueryRow

func (t *Transaction) QueryRow(ctx context.Context, sql string, args ...any) ports.DatabaseRow

QueryRow executes a query and returns a single row.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL