Help us shape the future of Go! Take the 2026 Go Developer Survey

stdpgxfx

package module
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Jan 5, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package stdpgxfx provides postgres pgx package as fx dependencies.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewPoolConfig

func NewPoolConfig(cfg Config, logs *zap.Logger) (*pgxpool.Config, error)

NewPoolConfig inits a pool configuration from the package config.

func Provide

func Provide() fx.Option

Provide components as fx dependencies.

func SnapshotProvide

func SnapshotProvide(filename string) fx.Option

SnapshotProvide provides a snapshot migrater.

func TestProvide

func TestProvide(tb testing.TB) fx.Option

TestProvide provides the package's components as an fx module with a setup more useful for testing.

Types

type Config

type Config struct {
	// RWDatabaseURL configures the database connection string for the read-write connection.
	RWDatabaseURL string `env:"RW_DATABASE_URL"`
	// PoolConnectionTimeout configures how long the pgx pool connect logic waits for the connection to establish
	PoolConnectionTimeout time.Duration `env:"POOL_CONNECTION_TIMEOUT" envDefault:"5s"`
	// PoolCloseTimeout is the time we'll allow to to close the connection pool. Only effective if shorter than
	// the fx shutdown timeout
	PoolCloseTimeout time.Duration `env:"POOL_CLOSE_TIMEOUT" envDefault:"5s"`
}

Config configures the components.

type Params

type Params struct {
	fx.In
	fx.Lifecycle
	Logs          *zap.Logger
	Config        Config
	PgxPoolConfig *pgxpool.Config
}

Params define the dependencies of the main component(s).

type Result

type Result struct {
	fx.Out
	RW *pgxpool.Pool `name:"rw"`
}

Result declare the main components produced by this package.

func New

func New(params Params) (res Result, err error)

New build the main components of this package.

Jump to

Keyboard shortcuts

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