...

Package postgres

import "github.com/golang-migrate/migrate/v4/database/postgres"
Overview
Index

Overview ▾

Variables

var (
    DefaultMigrationsTable       = "schema_migrations"
    DefaultMultiStatementMaxSize = 10 * 1 << 20 // 10 MB
)
var (
    ErrNilConfig      = fmt.Errorf("no config")
    ErrNoDatabaseName = fmt.Errorf("no database name")
    ErrNoSchema       = fmt.Errorf("no schema")
    ErrDatabaseDirty  = fmt.Errorf("database is dirty")
)

func WithInstance

func WithInstance(instance *sql.DB, config *Config) (database.Driver, error)

type Config

type Config struct {
    MigrationsTable       string
    MigrationsTableQuoted bool
    MultiStatementEnabled bool
    DatabaseName          string
    SchemaName            string

    StatementTimeout      time.Duration
    MultiStatementMaxSize int
    // contains filtered or unexported fields
}

type Postgres

type Postgres struct {
    // contains filtered or unexported fields
}

func (*Postgres) Close

func (p *Postgres) Close() error

func (*Postgres) Drop

func (p *Postgres) Drop() (err error)

func (*Postgres) Lock

func (p *Postgres) Lock() error

https://www.postgresql.org/docs/9.6/static/explicit-locking.html#ADVISORY-LOCKS

func (*Postgres) Open

func (p *Postgres) Open(url string) (database.Driver, error)

func (*Postgres) Run

func (p *Postgres) Run(migration io.Reader) error

func (*Postgres) SetVersion

func (p *Postgres) SetVersion(version int, dirty bool) error

func (*Postgres) Unlock

func (p *Postgres) Unlock() error

func (*Postgres) Version

func (p *Postgres) Version() (version int, dirty bool, err error)