startup_postgres

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2019 License: MIT Imports: 14 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ErrIsForeignKeyViolation

func ErrIsForeignKeyViolation(err error) bool

func ErrIsUniqueViolation

func ErrIsUniqueViolation(err error) bool

func WithTransaction

func WithTransaction(db *sqlx.DB, fn func(tx *sqlx.Tx) error) (err error)

Ends the given transaction. This method will either commit the transaction if the given recoverValue is nil, or rollback the transaction if it is non nil.

Types

type Helper

type Helper struct {
	*sqlx.DB
	// contains filtered or unexported fields
}

func New

func New(db *sqlx.DB, loggingPrefix, tracingServiceName string) Helper

type Initializer

type Initializer func(db *sqlx.DB) error

func DefaultMigration

func DefaultMigration(table string) Initializer

Creates an Initializer that performs a database migration by looking for sql files in the default directories.

func Migration

func Migration(table, directory string) Initializer

Runs a migration with the sql files from the given directory. The directory must exist. The migration library will use the given table name to store the migration progress

type PostgresOptions

type PostgresOptions struct {
	URL      string `long:"postgres" default:"postgres://postgres:postgres@localhost:5432?sslmode=disable" description:"Postgres server url."`
	PoolSize int    `` /* 133-byte string literal not displayed */

	ConnectionLifetime time.Duration `long:"postgres-lifetime" default:"10m" description:"Maximum time a connection in the pool can be used."`

	Inputs struct {
		// the driver name to use. If this is empty,
		// we select the default of 'postgres' or 'pgx',
		// depending on availability
		DriverName string

		// An optional initializer. This might be used to do
		// database migration or stuff.
		Initializer Initializer
	}
	// contains filtered or unexported fields
}

func (*PostgresOptions) Connection

func (opts *PostgresOptions) Connection() *sqlx.DB

func (*PostgresOptions) StartVacuumTask

func (opts *PostgresOptions) StartVacuumTask(db *sqlx.DB, table string, interval time.Duration, clock clock.Clock) io.Closer

Jump to

Keyboard shortcuts

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