PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Heroku pg:push psql:FATAL:falha na autenticação de senha para o usuário


Graças ao suporte do Heroku, finalmente consegui fazer isso funcionar. Portanto, para usuários do Windows, estas são as etapas:

Primeiro, você deseja despejar seu banco de dados local em um arquivo de despejo:
pg_dump --verbose -F c -Z 0 -U postgres -h localhost -p 5432 yourdbname > local.dump

Então você quer pegar a string de conexão das vars de configuração do seu aplicativo heroku:
heroku config:get DATABASE_URL

Então você quer escolher as partes username / hostname / databasename da string de conexão, ou seja:postgres:// username :password @ hostname :port / databasename Um aviso, executando isso em um banco de dados de produção com real data é algo que você quer evitar, então tenha cuidado com pg_restore. Ao executar isso manualmente, você corre o risco de danificar seus dados sem a verificação da CLI, portanto, convém verificar manualmente se o banco de dados de destino está vazio primeiro.
pg_restore --verbose --no-acl --no-owner -U username -h hostname -p 5432 -d databasename < local.dump

Então, quando solicitado por uma senha, basta colar a senha da string de conexão