per https://doc.dovecot.org/configuration_manual/authentication/sql/,
you can add more than one "host=" parameter in the "connect" directive,
and leave dovecot to do round-robin load balancing. there will probably
be a delay in processing while a failed database connection attempt
times out.
or you can use a load balanced database footprint, using something like
haproxy. its not as simple as putting multiple databases behind haproxy
and calling it done. i use mariadb, which via galera, can do
multi-primary HA, where all 3 primary instances can take write or read
events. you need to configure each mariadb instance with galara
replication and then setup haproxy to properly attach to the databases
and perform a service check.
postgresql or other databases may require different mechanisms to
achieve fault tolerant HA.
On 8/30/22 4:18 AM, Sami Ketola wrote:
On 30. Aug 2022, at 5.13, Jack Snodgrass <[email protected]> wrote:
I am using this file:
dovecot-sql.conf.ext
and in there I have a
connect = "host=<dbserver> dbname=<dbname> user=<dbuser>
password=<dbpass>"
My <dbserver> was down and I lost mail access for a few days before I
realized that there was an issue. How can I specify a backup server
so that if my primary sql server goes down, a backup sql server will
be queried?
Use haproxy.
Sami