postgres

package
v0.3.0 Latest Latest
Warning

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

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

Documentation

Overview

Package postgres provides PostgreSQL-backed implementations of refid.SequenceStore (via NewSequence) and refid.RandomStore (via NewRandom) using database/sql and raw SQL — no ORM. Import a PostgreSQL driver (e.g. github.com/jackc/pgx/v5/stdlib), open a connection with sql.Open, and pass the resulting *sql.DB to NewSequence or NewRandom.

Index

Constants

View Source
const DefaultRandomTableName = "refid_random"

DefaultRandomTableName is the default table name used for issued random ID values.

View Source
const DefaultSequenceTableName = "refid_sequences"

DefaultSequenceTableName is the default table name used for sequence counters.

Variables

This section is empty.

Functions

func MigrateRandom added in v0.2.0

func MigrateRandom(ctx context.Context, db *sql.DB, opts ...Option) error

MigrateRandom creates the issued-random-value table if it does not already exist. Pass WithTableName to migrate a custom table name.

func MigrateSequence added in v0.2.0

func MigrateSequence(ctx context.Context, db *sql.DB, opts ...Option) error

MigrateSequence creates the sequence-counter table if it does not already exist. Pass WithTableName to migrate a custom table name.

func NewRandom added in v0.2.0

func NewRandom(db *sql.DB, opts ...Option) (refid.RandomStore, error)

NewRandom returns a refid.RandomStore backed by PostgreSQL. db must already be opened against the pgx driver (see the package doc). By default it targets the "refid_random" table; override with WithTableName. NewRandom returns an error (never panics) if an option is invalid.

func NewSequence added in v0.2.0

func NewSequence(db *sql.DB, opts ...Option) (refid.SequenceStore, error)

NewSequence returns a refid.SequenceStore backed by PostgreSQL. db must already be opened against the pgx driver (see the package doc). By default it targets the "refid_sequences" table; override with WithTableName. NewSequence returns an error (never panics) if an option is invalid.

Types

type Option

type Option func(*config)

Option configures optional behavior for a PostgreSQL SequenceStore or RandomStore.

func WithTableName

func WithTableName(name string) Option

WithTableName overrides the default table name ("refid_sequences" for NewSequence/MigrateSequence, "refid_random" for NewRandom/MigrateRandom). An invalid name (must match [a-zA-Z_][a-zA-Z0-9_]*) is recorded and surfaced as an error from the constructor or migrate function — never a panic.

Jump to

Keyboard shortcuts

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