Postfix PostgreSQL Návody


Link: http://www.postfix.org/PGSQL_README.html

 


Úvod

Postfix pgsql typ mapy umožňuje připojit Postfix PostgreSQL databáze. Tato implementace umožňuje více pgSQL databází: můžete použít jednu pro virtuální (5) tabulky, jednu pro přístup (5) tabulky, a jeden pro aliasů (5) tabulky, pokud chcete. Můžete zadat více serverů pro stejnou databázi, takže Postfix lze přepnout na dobré databázový server, pokud jedna pokazí.

Busy mailové servery používající pgSQL mapy přinese spoustu souběžných pgsql klientů, takže pgsql server (y) by měl být spuštěn s touto skutečností v mysli. Můžete snížit počet souběžných pgSQL klientů pomocí Postfixu proxymap (8) služby.
Stavební Postfix s podporou PostgreSQL

Tyto pokyny předpokládají, že budete stavět Postfix ze zdrojového kódu, jak je popsáno v instalační dokumentu. Některé úpravy mohou být nutné, pokud budete stavět Postfix od dodavatele konkrétního zdrojového balíčku.

Poznámka: použití pgsql s Debian GNU / Linux je Postfix, vše, co potřebujete udělat, je nainstalovat postfix-pgsql balíček a máte hotovo. Není potřeba překompilovat Postfixu.

Za účelem vybudování Postfixu s podporou mapě pgsql, zadáte-DHAS_PGSQL, adresář se soubory, PostgreSQL, záhlaví a umístění souboru knihovny libpq.

Například:

% make tidy
% make -f Makefile.init makefiles \
        'CCARGS=-DHAS_PGSQL -I/usr/local/include/pgsql' \
        'AUXLIBS=-L/usr/local/lib -lpq'

Pak už stačí jen spustit ‘make’.
Konfigurace tabulky PostgreSQL vyhledávání

Jakmile Postfix je postaven s podporou pgsql, můžete zadat typ mapy v main.cf takto:

/etc/postfix/main.cf:
    alias_maps = pgsql:/etc/postfix/pgsql-aliases.cf

Soubor / etc / postfix / pgsql-aliases.cf určuje množství informací říkat postfix, jak odkazovat na pgsql databáze. Na kompletní popis naleznete v pgsql_table (5) manuálovou stránku.
Příklad: místní jména

#
# pgsql config file for local(8) aliases(5) lookups
#

#
# The hosts that Postfix will try to connect to
hosts = host1.some.domain host2.some.domain

# The user name and password to log into the pgsql server.
user = someone
password = some_password

# The database name on the servers.
dbname = customer_database

# Postfix 2.2 and later The SQL query template. See pgsql_table(5).
query = SELECT forw_addr FROM mxaliases WHERE alias='%s' AND status='paid'

# For Postfix releases prior to 2.2. See pgsql_table(5) for details.
select_field = forw_addr
table = mxaliases
where_field = alias
# Don't forget the leading "AND"!
additional_conditions = AND status = 'paid'

Použití zrcadlové databáze

Stránky, které mají potřebu více poštovních výměníků mohou těšit na pohodlí práce na síti mailer databázi, ale nechcete zavést jediný bod selhání jejich systému.

Z tohoto důvodu jsme zahrnoval možnost mít Postfixu referenčních více počítačů pro přístup k jedné pgSQL mapě. To bude fungovat, pokud stránky nastavit zrcadlové pgsql databáze na dvou nebo více počítačů.

Kdykoliv dotazy nezdaří s chybou na jednom hostiteli, zbytek hostitelů být souzen v náhodném pořadí. Pokud není pgsql serveru hostitelé jsou k dispozici, pak se pošta bude odloženo, dokud alespoň jeden z těchto počítačů je dosažitelný.
Kredity

  •     Tento kód je založen na Postfixu mysql mapě Scott bavlna a Joshua Marcus, IC Group, Inc
  •     PostgreSQL změny byly provedeny Aaron Sethman.
  •     Aktualizace pro Postfix 1.1.x a PostgreSQL 7.1 + a podpora pro volání uložené procedury byly přidány Philip Warner.
  •     Lamont Jones byl první Postfix pgsql správcem.
  •     Liviu Daia revidován konfigurační rozhraní a přidali main.cf konfigurační funkce.
  •     Liviu Daia revidován konfigurační rozhraní a přidali main.cf konfigurační funkce.
  •     Liviu Daia s dalšími vymoženostmi od Jose Luis Tallon a Victor Duchovní vyvinuty společné dotaz, result_format, doménu a expansion_limit rozhraní pro LDAP, MySQL a PosgreSQL.
  •     Leandro Santi aktualizovány PostgreSQL klienta po PostgreSQL vývojáři z hlavní změny databázové API v reakci na SQL injection problémy, a dělal PQexec () manipulace robustnější.