Documentation
¶
Overview ¶
Package dbpg provides PostgreSQL connection management with master-slave support.
Index ¶
- func Array(a *[]string) any
- type DB
- func (db *DB) BatchExec(ctx context.Context, in <-chan string)
- func (db *DB) BeginTx(ctx context.Context, opts *sql.TxOptions) (*sql.Tx, error)
- func (db *DB) BeginTxWithRetry(ctx context.Context, strategy retry.Strategy, opts *sql.TxOptions) (*sql.Tx, error)
- func (db *DB) ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
- func (db *DB) ExecWithRetry(ctx context.Context, strategy retry.Strategy, query string, ...) (sql.Result, error)
- func (db *DB) QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
- func (db *DB) QueryRowContext(ctx context.Context, query string, args ...interface{}) *sql.Row
- func (db *DB) QueryRowWithRetry(ctx context.Context, strategy retry.Strategy, query string, ...) (*sql.Row, error)
- func (db *DB) QueryWithRetry(ctx context.Context, strategy retry.Strategy, query string, ...) (*sql.Rows, error)
- func (db *DB) WithTx(ctx context.Context, fn func(*sql.Tx) error) error
- func (db *DB) WithTxWithRetry(ctx context.Context, strategy retry.Strategy, fn func(*sql.Tx) error) error
- type Options
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DB ¶
DB represents a database connection with master and slave nodes.
func (*DB) BeginTxWithRetry ¶ added in v0.0.11
func (db *DB) BeginTxWithRetry( ctx context.Context, strategy retry.Strategy, opts *sql.TxOptions, ) (*sql.Tx, error)
BeginTxWithRetry starts a transaction with a retry strategy on the master database.
func (*DB) ExecContext ¶
func (db *DB) ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
ExecContext executes a command on the master database.
func (*DB) ExecWithRetry ¶
func (db *DB) ExecWithRetry( ctx context.Context, strategy retry.Strategy, query string, args ...interface{}, ) (sql.Result, error)
ExecWithRetry executes a command with a retry strategy.
func (*DB) QueryContext ¶
func (db *DB) QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
QueryContext executes a query on a slave if available, otherwise on the master.
func (*DB) QueryRowContext ¶ added in v0.0.5
QueryRowContext executes a single-row query on a slave if available, otherwise on the master.
func (*DB) QueryRowWithRetry ¶ added in v0.0.5
func (db *DB) QueryRowWithRetry( ctx context.Context, strategy retry.Strategy, query string, args ...interface{}, ) (*sql.Row, error)
QueryRowWithRetry executes a single-row query with a retry strategy.
func (*DB) QueryWithRetry ¶
func (db *DB) QueryWithRetry( ctx context.Context, strategy retry.Strategy, query string, args ...interface{}, ) (*sql.Rows, error)
QueryWithRetry executes a query with a retry strategy.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package pgxdriver provides a robust PostgreSQL client built on pgx/v5, featuring connection retries with exponential backoff and jitter, integrated SQL query building via squirrel, and structured logging.
|
Package pgxdriver provides a robust PostgreSQL client built on pgx/v5, featuring connection retries with exponential backoff and jitter, integrated SQL query building via squirrel, and structured logging. |
|
transaction
Package transaction provides a transaction manager for PostgreSQL with automatic retry on transient errors such as serialization failures, deadlocks, and connection issues.
|
Package transaction provides a transaction manager for PostgreSQL with automatic retry on transient errors such as serialization failures, deadlocks, and connection issues. |
Click to show internal directories.
Click to hide internal directories.