Eu tive o mesmo problema com meu site e o que foi mais frustrante é que funcionou no site implantado, mas quando eu estava tentando executar o site localmente (usando o capataz) recebi esse erro. para o banco de dados e verificando mais detalhadamente, esses são os dois motivos que causaram esse erro:
-
Nenhuma variável de ambiente DATABASE_URL
Por algum motivo eu não tinha o process.env.DATABASE_URL definido no meu arquivo .env embora tenha sido definido corretamente no site remoto. Para resolver esse problema, você pode executar "heroku config" e copiar o DATABASE_URL necessário para o arquivo .env local (se esse arquivo não existir, crie um).
NOTA IMPORTANTE: Ao copiar e colar as variáveis, altere o caractere ":" para "=".
-
?ssl=true não faz parte do DATABASE_URL
Graças à correção acima, o cliente agora sabe onde se conectar, mas ainda não conseguiu abrir a conexão devido a problemas de autenticação. Adicionando ?ssl=true para o DATABASE_URL finalmente resolveu o problema para mim. Parece que quando você está tentando se conectar do site remoto (servidores heroku) você não precisa passar o parâmetro, mas quando você está tentando se conectar ao banco de dados do seu computador local, você precisa dessa autenticação para fazer a conexão adequada.
Espero que ajude.