Knowledge base

database-address verifiedcriticalWritten by the Hub

Where the cluster settings live

in the configuration this is a linedatabase-address: sqlite:///var/lib/mailerq/database.sqlite

Connection string for the database that holds every runtime setting of the cluster — throttles, DKIM keys, pools, pauses, suppressions, rewrite rules and response patterns.

Values

Values
sqlite://path · mysql://user:pass@host/db · postgresql://user:pass@host/db
Default
sqlite:///var/lib/mailerq/database.sqlite · taken from the build
applying
restart required
where it can be set
in the config file · with a startup flag · as an environment variable

In detail

This is the one directive with no usable default: the package ships it pointing at a local SQLite file, which works for a single node and falls apart the moment a second one joins, because the two then keep separate settings while believing they are one cluster. The scheme in the string selects the driver, and the driver is loaded at run time, so the matching client library has to be installed — for PostgreSQL that is libpq5, which is not a dependency of the package and has to be installed alongside it. A node that cannot reach its database does not start.

What happens if you get it wrong

The client library for the scheme is missing.The engine cannot load the driver and refuses to start.verified by experiment · inference
Two nodes are given different databases while sharing one broker.Each keeps its own limits and keys while the console shows them as one cluster; sending behaviour differs per node with nothing in the interface to explain it.inference · inference