Здравствуйте, 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

Ответить