Postfix: error: open database /etc/postfix/generic.db: No such file or directory

postfix

I am seeing such an error when starting the postfix server, and also lots fo failures when watching the maillog. How can I solve this issue?

Jan 13 22:43:46 CentOS-72-64-minimal postfix/master[1651]: warning: process /usr/libexec/postfix/smtp pid 1297 exit status 1
Jan 13 22:43:46 CentOS-72-64-minimal postfix/master[1651]: warning: /usr/libexec/postfix/smtp: bad command startup -- throttling
Jan 13 22:43:47 CentOS-72-64-minimal postfix/qmgr[1653]: warning: private/smtp socket: malformed response
Jan 13 22:43:47 CentOS-72-64-minimal postfix/qmgr[1653]: warning: transport smtp failure -- see a previous warning/fatal/panic logfile record for the problem description

Here is the result of postconf -n

[root@host ~]# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
allow_percent_hack = no
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
home_mailbox = Maildir/
html_directory = no
inet_interfaces = localhost
mail_owner = postfix
mailbox_command = /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME
mailbox_size_limit = 0
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sender_bcc_maps = hash:/etc/postfix/bcc
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_generic_maps = hash:/etc/postfix/generic
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/virtual

PS Running

 postmap /etc/postfix/generic

seems to have solved the issue…

Best Answer

Assure the precursor file ( generic NOT generic.db ) exists

ls -la /etc/postfix/generic

when your error happens typically this file does not exist ... so create it :

touch /etc/postfix/generic

only then will this be of any use

 postmap /etc/postfix/generic

now you will have a populated file /etc/postfix/generic.db