kvpostgres

package module
v0.0.0-...-d08cd94 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var PgctlBinaryPath = ""

PgctlBinaryPath variable contains the path to `pg_ctl` binary. When empty exec.LookPath will be used to find the binary.

Functions

func Start

func Start(ctx context.Context, dataDir string) (func(), error)

Start initializes a postgres database and starts a private postgres server in the given directory if it doesn't already exist.

Types

type Database

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

func Connect

func Connect(ctx context.Context, dataDir string) (_ *Database, status error)

Connect creates a db instance using an already running database server at the given directory.

func New

func New(ctx context.Context, dataDir string) (_ *Database, status error)

New creates a key-value store (if it doesn't exist) backed by a private postgres instance.

func (*Database) Close

func (d *Database) Close() error

Close shuts down the postgres database server.

func (*Database) NewSnapshot

func (d *Database) NewSnapshot(ctx context.Context) (*Transaction, error)

NewSnapshot creates a read-only snapshot of the key-value database.

func (*Database) NewTransaction

func (d *Database) NewTransaction(ctx context.Context) (*Transaction, error)

NewTransaction creates a new transaction.

type Transaction

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

func (*Transaction) Ascend

func (t *Transaction) Ascend(ctx context.Context, beg, end string, errp *error) iter.Seq2[string, io.Reader]

func (*Transaction) Commit

func (t *Transaction) Commit(ctx context.Context) error

Commit commits a transaction.

func (*Transaction) Delete

func (t *Transaction) Delete(ctx context.Context, k string) error

Delete removes a key-value pair.

func (*Transaction) Descend

func (t *Transaction) Descend(ctx context.Context, beg, end string, errp *error) iter.Seq2[string, io.Reader]

Descend returns key-value pairs in a given range, in descending order.

func (*Transaction) Discard

func (t *Transaction) Discard(ctx context.Context) error

Discard releases a snapshot.

func (*Transaction) Get

func (t *Transaction) Get(ctx context.Context, k string) (io.Reader, error)

Get returns the value for a given key.

func (*Transaction) Rollback

func (t *Transaction) Rollback(ctx context.Context) error

Rollback drops a transaction.

func (*Transaction) Set

func (t *Transaction) Set(ctx context.Context, k string, v io.Reader) error

Set creates or updates a key-value pair.

Jump to

Keyboard shortcuts

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