Здравствуйте, Alexander.
Вы писали 9 сентября 2013 г., 19:56:33:
> Здравствуйте, Exim-users.
> Переезжал на новый сервер с exim. На нем есть такой роутер
> virtual_domains:
> driver = redirect
> allow_fail
> data = ${lookup pgsql{SELECT concat('/var/mail/',maildir) FROM
> public.mailbox \
> WHERE local_part = '${quote_pgsql:$local_part}' \
> AND domain = '${quote_pgsql:$domain}' \
> AND active = 't'}}
> local_part_suffix = -*
> local_part_suffix_optional
> retry_use_local_part
> directory_transport = virtual_delivery
> reply_transport = address_reply
> pipe_transport = address_pipe
> Выяснилось, что quote_pgsql эскейпит '%' и '_'.
> Допустимо ли в условии WHERE поменять '=' на like или как-то по-другому надо
> строить запрос?
> Вообще убрать quote_pgsql и делать проверки самим exim?
1) не знал что постгресс умеет такие дисковые операции...
2) на больших объемах почты оно может в тупую жрать проц и дисковые
IO поскольку как я понимаю каждый раз считается объем всех файлов в
maildir, а не парсится maildirsize. А с учетом того что файлов в
maildir может быть много результат будет плачевный.
3) я написал скрипт на перле который парсит maildirsize и кэширует
данные избирательно в зависимости от текущего объема maildir. Работает
с exim через unix socket. Если надо могу выслать.
--
С уважением,
Alexander mailto:[email protected]
_______________________________________________
Exim-users mailing list
[email protected]
http://mailground.net/mailman/listinfo/exim-users