On Mon, Jul 25, 2011 at 05:20:07PM +0100, Jonathan Gazeley wrote: > I've been running a postfix server on CentOS 5 for a while with no problem. > I set up a new CentOS 6 box with postfix, and basically transplanted my > configs across to the new one. The service starts, but doesn't work > properly: it doesn't accept email on 25 or 587 (TLS), but instead this > appears in the maillog: > > Jul 25 17:12:43 helios postfix/smtpd[14436]: fatal: open database > /etc/postfix/virtual.db: No such file or directory > Jul 25 17:12:44 helios postfix/master[14239]: warning: process > /usr/libexec/postfix/smtpd pid 14436 exit status 1 > Jul 25 17:12:44 helios postfix/master[14239]: warning: > /usr/libexec/postfix/smtpd: bad command startup -- throttling > > > I do have a virtual.db, though. I deleted all my *.db and recreated them > with postmap to ensure they were OK. The ownership and perms seem OK:
My guess (you neither provide postconf -n output, nor specify what postmap incantation was used to create the virtual.db file) is that the .db files in question may not of the expected dictionary type. Perhaps they're "hash" instead of "btree", or "btree" instead of "hash". Another possibility is that the postmap(1) binary in question is linked with a different Berkeley DB library than smtpd(8) (mixed Postfix install with admin utilities in sbin from a different Postfix version than the libexec daemons). -- Viktor.