Something wrong in pg_hba.conf
I can see how one might think listen_addresses = 'localhost' is somehow related to the authentication method local. But it is not. I quote the manual on listen_addresses:


  listen_addresses (string)
  
  Specifies the TCP/IP address(es) on which the server is to listen for connections from client applications.


And the chapter The pg_hba.conf File in the manual:


  local
  
  This record matches connection attempts using Unix-domain sockets. Without a record of this type, Unix-domain socket connections are
  disallowed.


Bold emphasis mine. 

For connections via localhost (TCP/IP, local loopback) you actually need an entry for the authentication method host in your pg_hba.conf file (not for local).