Skip to content

Latest commit

 

History

History
41 lines (29 loc) · 3.29 KB

postgres.md

File metadata and controls

41 lines (29 loc) · 3.29 KB

PostgreSQL Persistent Storage

Setup

PostgreSQL

You'll need a running instance of PostgreSQL. You'll be able to run one in Docker.

docker run --rm -it -p 5432:5432 -e POSTGRES_USER="postgres" -e POSTGRES_PASSWORD="" -e POSTGRES_HOST_AUTH_METHOD="trust" postgres:14.1

Connectivity options

Using environmental variables

Variable Default Description
POSTGRES_URL URL as per docs. Other DB connection setup variables ignored if set.
POSTGRES_HOST localhost Host to connect to
POSTGRES_PORT 5432 Port to connect to
POSTGRES_DB postgres Database name
POSTGRES_USERNAME postgres Username
POSTGRES_PASSWORD Password
POSTGRES_APP_NAME Application name to register on PostgreSQL server

Provide own instance

Both PostgresMetadataStore and PostgresNotificationStore encapsulates a PostgresStore, which in turn encapsulates a Tokio Postgres Client. Override accordingly.

Other options

Environment Variable Default Description
POSTGRES_INIT_METADATA If set to 'true', the metadata table will be created on PostgresMetadataStore initialization.
POSTGRES_METADATA_TABLE job The metadata table name used by the PostgresMetadataStore.
POSTGRES_INIT_NOTIFICATIONS If set to 'true', the notification tables will be created on PostgresNotificationStore initizalization.
POSTGRES_NOTIFICATION_TABLE notification The table to hold the main notification data used by PostgresNotificationStore
POSTGRES_NOTIFICATION_STATES_TABLE notification_state The table to hold the states types vs notification id table. A 1:N relationship with the POSTGRES_NOTIFICATION_TABLE.