[Postfixbuch-users] DB-Strukturen

Stefan Förster cite+postfix-buch at incertum.net
Sa Nov 8 19:48:22 CET 2008


Hallo Christian, hallo Rest der Liste,

ich habe nochmal eine Stunde mit SQL gespielt (und dabei wie zu
erwarten einiges gelernt). Herausgekommen ist:

http://www.incertum.net/~cite/maildevel/

Das .gz-File ist ein PostgreSQL-Dump (pg_dump -Fc -s), einzuspielen
mit pf_restore -d database -c filename. Ich habe ein Schema mit drei
Tabellen und ein paar Triggern entworfen, welches zwar immer noch keine
Weiterleitungen nach extern kann, dafür aber ein paar interessante
Features hat:

1. Für die Tabellen in Postfix, die einen linken und einen rechten
Teil benötigen, konkret virtual_mailbox_maps und virtual_alias_maps
stelle ich im Schema automatisch gepflegte Felder mit den Namen
"auto_lhs" und "auto_rhs" bereit. Das notwendige Query wird dann
einfach zu:

SELECT auto_rhs FROM mailboxes WHERE auto_lhs = '%s'

Das geht analog für Aliase und hat zur Folge, daß die Indices schön
ausgenutzt werden.

2. Weitergabe von Änderungen: Wird eine Domain auf inaktiv gesetzt,
werden auch sämtliche Aliasse und Mailboxen auf inaktiv gesetzt, die
es in der Domain gab. Selbiges gilt für virtuelle Mailboxen, auf die
sich ein virtueller Alias bezog. Das gleiche gilt natürlich auch für
das Löschen, aber das ist ja trivial.
Ebenso werden für neu angelegte Aliase die Spam-Einstellungen des
Zeils benutzt (bei der Erzeugung). Die Integration von amavisd-new
beschränkt sich damit auf das Erzeugen eines VIEWs als UNION über drei
Queries.

3. Datenkonsistzenz: Es ist meines Erachtens nach mit dem Schema nicht
möglich, sich einen kaputten virtuellen Alias zu bauen.

Wenn jemand, der sich mit SQL auskennt, da mal drübergucken könnte,
wäre ich sehr froh, aber ich bin auch allg. für Feedback dankbar.


Ciao
Stefan
-- 
Stefan Förster     http://www.incertum.net/     Public Key: 0xBBE2A9E9
FdI #130: Open Source Support - Support heißt Scheiße fressen und lächeln,
nicht zurückscheissen. Also lächle und lang zu (es ist noch genug für alle
da) oder geh weg. (Kristian Köhntopp)



Mehr Informationen über die Mailingliste Postfixbuch-users