title: Postfix unable to find /etc/postfix/virtual file
body: <p>On an Ubuntu Server 12.04 machine, I've set up an email forwarder for a specific address in <code>/etc/postfix/virtual</code>: 
      example@mydomain.com postfix-test@dotancohen.com</p>
  
  <p>The address <code>postfix-test@dotancohen.com</code> works and receives mail. When I send mail to <code>example@mydomain.com</code> I get this in the logs:</p>
  
  <pre><code>warning: hash:/etc/postfix/virtual is unavailable. open database /etc/postfix/virtual.db: No such file or directory
  warning: hash:/etc/postfix/virtual lookup error for "example@mydomain.com"
  warning: 705B58190E: virtual_alias_maps map lookup problem for example@mydomain.com  -- deferring delivery
  </code></pre>
  
  <p><strong>Why might postfix be unable to find the <code>/etc/postfix/virtual file</code>?</strong></p>
  
  <pre><code>$ ls -la
  total 96
  drwxr-xr-x   3 root root  4096 Jul  4 08:46 .
  drwxr-xr-x 102 root root  4096 Jun 24 06:23 ..
  -rw-r--r--   1 root root   274 Jun 24 06:23 dynamicmaps.cf
  -rw-r--r--   1 root root  1549 Jul  4 08:46 main.cf
  -rw-r--r--   1 root root  5531 Jun 24 06:23 master.cf
  -rw-r--r--   1 root root 19707 Feb 20 20:03 postfix-files
  -rwxr-xr-x   1 root root  8729 Feb 20 20:03 postfix-script
  -rwxr-xr-x   1 root root 26498 Feb 20 20:03 post-install
  drwxr-xr-x   2 root root  4096 Feb 20 20:03 sasl
  -rw-r--r--   1 root root    43 Jul  4 08:27 virtual
  -rw-r--r--   1 root root   130 Jul  4 08:26 vmailbox
  
  $ cat virtual
  example@mydomain.com post-test@dotancohen.com
  
  $ cat main.cf | grep virtual
  virtual_mailbox_domains = mydomain.com
  virtual_mailbox_base = /var/mail/vhosts
  virtual_mailbox_maps = hash:/etc/postfix/vmailbox
  virtual_minimum_uid = 100
  virtual_uid_maps = static:5000
  virtual_gid_maps = static:5000
  virtual_alias_domains = fastupfront.com
  virtual_alias_maps = hash:/etc/postfix/virtual
  # virtual_alias_maps = /etc/postfix/virtual # I tried without the 'hash:' prefix as well.
  </code></pre>
  
  <p>Note that <code>mydomain.com</code> is anonymized. In fact, the domain name that is used in the files is a real domain name that does have its A and MX records pointed to the IP address of this server, and serving webpages with Apache works. The DNS records were changed last week, so I know that they have propagated.</p>