Stefan Foerster: > Two questions regarding proxymap: > > 1. Is a single proxymap(8) process able to handle multiple lookup > tables? I.e., taking the example from the manpage, modifying it to > > mysql = proxy:mysql:/etc/postfix/ > virtual_alias_maps =${mysql}virtual_alias_maps.cf > virtual_alias_domains = ${mysql}virtual_alias_domains.cf > > and furthermore assuming a limit of 40 proxymap(8) processes defined > in master.cf, will this result in 40 or 80 connections to the > database?
This depends on the query load. When a client needs proxymap service it is either helped by an existing proxymap process that is idle, or else it is helped by a new proxymap process. In the first case it will share the table with other proxymap clients. > 2. Typically, changes in CIDR, PCRE or RegExp tables are not detected > immediately, which is not a problem for short lived processes like > smtpd(8). If those tables are provided by means of proxymap(8) (to > e.g. save memory on very large CIDR tables), will the tables be > re-read as soon as a newly spawned smtpd(8) makes a connection to > proxymap(8) or is it necessary to reload Postfix? CIDR, PCRE or RegExp tables have no change detection mechanism. That requires keeping the file handle open, which seems wasteful. Most proxymap daemons will retire after a thousand seconds or so but it may take longer on busy servers. This may be sped up by reducing main.cf:ipc_ttl to 100s or so. Wietse