[CentOS] Postfix mail server procedure

Mon Nov 14 14:05:23 UTC 2011
Adam Tauno Williams <awilliam at whitemice.org>

On Sat, 2011-11-12 at 09:47 -0700, Craig White wrote:
> On Sat, 2011-11-12 at 21:53 +0800, Christopher Chan wrote:
> > On Saturday, November 12, 2011 01:01 AM, Adam Tauno Williams wrote:
> > > Cyrus is incredibly reliable, stable and fast.  And the latest 2.4.x
> > > series closes numerous potential issues with how databases are managed.
> > Oh, so Cyrus is another 'use a database as a mail store'? The other one 
> > that I know of but cannot remember the name of uses postgresql for its 
> > mailstore.
> ----
> not at all - the mailstore itself is simply flat files - essentially a
> maildir type but all within specified director[y|ies]
> There were a number of db's that traditionally were berkeley db's but
> now the recommended method, as Adam pointed out is to use skiplist.


These databases exist in parallel with the mailstore [and are why nobody
and nothing should go manually whacking around inside the mailstore; in
addition to the fact that people make casual mistakes that good
administrative tools can prevent].

These databases track a variety of attributes and meta-data related to
the mail store such as seen-state, annotations,  quota, text indexing,

> Actually though, berkeley db is used by an awful lot of daemons such as
> OpenLDAP, Netatalk and is reasonably durable and to be honest, I've been
> using Cyrus w/ berkeley db's since the early 2000's and never had a
> problem whereas there have been times when I've had to slapd_db_recover
> berkeley db's from OpenLDAP.

Same here.  I've never had a corrupt BDB in Cyrus, but I have had them
in OpenLDAP.  I've talked to numerous people who have had issues with
BDB in Cyrus.  The issue is that BDB is extremely sensitive to the
environment,  so it is hard to know when it is 'right'.  Always best,
IMO, to avoid it.

> I gather that by comparison, PostgreSQL and MySQL are considered
> comparatively much slower and never used for these servers.

True, BDB is *MUCH* faster.  But then BDB is a key-value data store, and
PostgresSQL / MySQL are relational model databases.  Really apples &