Na verdade, por algum motivo desconhecido, descobri que o problema era porque a função postgresql não havia sido criada.
Tente executar:
createuser -s -r postgres
Observe que as funções são a maneira como o PostgreSQL mantém as permissões do banco de dados. Se não houver função para o usuário postgres, ele não poderá acessar nada. O comando createuser é um wrapper fino em torno dos comandos CREATE USER, CREATE ROLE, etc.