Postfix PostgreSQL Howto по українськи


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

Введення

Postfix PgSQL тип карти дозволяє підключити Postfix до бази даних PostgreSQL . Ця реалізація дозволяє кілька PgSQL базах даних: ви можете використовувати один для віртуального ( 5 ) таблиці, по одній для доступу ( 5 ) таблиці, і один для псевдонімів ( 5 ) таблиці, якщо ви хочете. Можна вказати кілька серверів для тієї же базі даних , так що Postfix може переключитися на хороший сервер бази даних , якщо один йде погано .

Зайнятий сервери пошти за допомогою карт PgSQL буде генерувати багато одночасних PgSQL клієнтів, тому PgSQL сервер (и ) повинен бути запущений з цим фактом на увазі. Ви можете зменшити кількість одночасних PgSQL клієнтів за допомогою Postfix proxymap ( 8 ) служби.
Збірка Postfix з підтримкою PostgreSQL

Ці інструкції припускають , що ви будуєте Postfix з вихідного коду , як описано в документі INSTALL. Деякі модифікації можуть знадобитися , якщо ви будуєте Postfix від конкретного виробника вихідного коду.

Примітка: Для використання PgSQL з Debian GNU / Linux з Postfix , все що вам потрібно зробити , це встановити Postfix PgSQL – пакет , і все готово. Там немає необхідності перекомпілювати Postfix .

Для того щоб побудувати Postfix з підтримкою карти PgSQL , вказати – DHAS_PGSQL , директорію з файлами PostgreSQL заголовка і розташування файлу бібліотеки LIBPQ .

 

Наприклад:

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

 

Потім просто запустіть ‘ зробити ‘.
Налаштування таблиць PostgreSQL пошуку

Як тільки Postfix побудований з PgSQL підтримкою , ви можете вказати тип карти в main.cf так:

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

У файлі / і т.д. / Postfix / PgSQL – aliases.cf вказується багато інформації говорять Postfix , як посилатися на базу даних PgSQL . Для повного опису див pgsql_table ( 5 ) довідкової сторінці .
Приклад : локальні псевдоніми

#
# 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'

 

Використання дзеркальних баз даних

Сайти , які мають необхідність у декількох теплообмінників пошта може насолоджуватися зручністю використання бази даних мережевих поштову програму , але не хочуть запровадити єдину точку відмови в їх системі .

З цієї причини ми включили можливість мати Postfix посиланням декількох хостів для доступу до одного PgSQL карті. Це буде працювати , якщо сайти створені дзеркальні PgSQL баз даних на два або більше комп’ютерів.

Всякий раз , коли запити не з похибкою в один хост , решта господарі судитимуть у випадковому порядку. Якщо ні PgSQL хостів сервер не досяжні , то пошта буде відкладено до хоча б одного з цих хостів не можна досягти.

 
Kредити

  • Цей код заснований на Postfix MySQL карту Скотт і Джошуа Бавовна Маркус , IC Group , Inc
  • PostgreSQL зміни були зроблені Аароном Sethman .
  • Оновлення для Postfix 1.1.x і PostgreSQL 7.1 + і підтримкою виклику збережених процедур були додані Філіпа Уорнера .
  • Ламонт Джонс був початковий Postfix PgSQL супроводжуючим.
  • Лівіу Daia переглянутий інтерфейс конфігурації і додав main.cf особливість конфігурації.
  • Лівіу Daia переглянутий інтерфейс конфігурації і додав main.cf особливість конфігурації.
  • Лівіу Daia доопрацьований далі Хосе Луїс Tallon та Віктор Duchovni розроблені загальні запити , result_format , домен і expansion_limit інтерфейс для LDAP , MySQL і PosgreSQL.
  • Леандро Санті оновив PostgreSQL клієнта після PostgreSQL розробники зробили серйозні зміни API бази даних у відповідь на SQL ін’єкцію проблеми , і зробив PQexec ( ) обробки більш надійною.