Documentation
¶
Overview ¶
Package postgres provides an interface for writing to a Postgres instance.
Index ¶
- Variables
- func ProvideDatabaseClient(ctx context.Context, logger logging.Logger, ...) (database.Client, error)
- func RegisterDatabaseClient(i do.Injector)
- type Client
- func (q *Client) Close() error
- func (q *Client) CurrentTime() time.Time
- func (q *Client) IsReady(ctx context.Context) bool
- func (q *Client) ReadDB() *sql.DB
- func (q *Client) RollbackTransaction(ctx context.Context, tx database.SQLQueryExecutorAndTransactionManager)
- func (q *Client) WriteDB() *sql.DB
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // PGProviders are what we offer to dependency injection. PGProviders = wire.NewSet( ProvideDatabaseClient, ) )
Functions ¶
func ProvideDatabaseClient ¶
func ProvideDatabaseClient(ctx context.Context, logger logging.Logger, tracerProvider tracing.TracerProvider, cfg database.ClientConfig, metricsProvider metrics.Provider) (database.Client, error)
ProvideDatabaseClient provides a new DataManager client. If metricsProvider is non-nil, the DB driver will use it so SQL latency and other db.sql.* metrics are emitted (e.g. db_sql_latency_milliseconds_bucket in Prometheus).
func RegisterDatabaseClient ¶
RegisterDatabaseClient registers a database.Client with the injector. Prerequisite: database.ClientConfig must be registered (e.g. via databasecfg.RegisterClientConfig).
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is the primary database querying client.
func (*Client) CurrentTime ¶
func (*Client) RollbackTransaction ¶
func (q *Client) RollbackTransaction(ctx context.Context, tx database.SQLQueryExecutorAndTransactionManager)
Click to show internal directories.
Click to hide internal directories.