package
3.9.0
Repository: https://github.com/2637309949/micro.git
Documentation: pkg.go.dev

# README

Postgres plugin

This module implements a Postgres implementation of the micro store interface.

Implementation notes

Concepts

We maintain a single connection to the Postgres server. Due to the way connections are handled this means that all micro "databases" and "tables" are stored under a single Postgres database as specified in the connection string (https://www.postgresql.org/docs/8.1/ddl-schemas.html). The mapping of micro to Postgres concepts is:

  • micro database => Postgres schema
  • micro table => Postgres table

Expiry

Expiry is managed by an expiry column in the table. A record's expiry is specified in the column and when a record is read the expiry field is first checked, only returning the record if its still valid otherwise it's deleted. A maintenance loop also periodically runs to delete any rows that have expired.

# Packages

Package pgx implements the postgres store with pgx driver.

# Functions

NewStore returns a new micro Store backed by sql.

# Variables

DefaultDatabase is the namespace that the sql store will use if no namespace is provided.
DefaultDatabase is the namespace that the sql store will use if no namespace is provided.
DefaultDatabase is the namespace that the sql store will use if no namespace is provided.

# Type aliases

https://github.com/upper/db/blob/master/postgresql/custom_types.go#L43.