PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Heroku pg:push psql:FATAL:Kennwortauthentifizierung für Benutzer fehlgeschlagen

Dank Heroku-Support konnte ich das endlich zum Laufen bringen. Für Windows-Benutzer sind dies die Schritte:

Zuerst möchten Sie Ihre lokale Datenbank in eine Dump-Datei ausgeben:

pg_dump --verbose -F c -Z 0 -U postgres -h localhost -p 5432 yourdbname > local.dump

Dann möchten Sie die Verbindungszeichenfolge aus den Konfigurationsvariablen Ihrer Heroku-Anwendung abrufen:

heroku config:get DATABASE_URL

Dann möchten Sie die Teile Benutzername / Hostname / Datenbankname aus der Verbindungszeichenfolge heraussuchen, dh:postgres:// Benutzername :Passwort @ Hostname :Port / DatenbanknameEine Warnung, die für eine Produktionsdatenbank mit real ausgeführt wird Daten sind etwas, das Sie vermeiden möchten, seien Sie also vorsichtig mit pg_restore. Wenn Sie dies manuell ausführen, laufen Sie Gefahr, Ihre Daten ohne die CLI-Prüfung zu verstümmeln, daher sollten Sie zuerst manuell überprüfen, ob die Zieldatenbank leer ist.

pg_restore --verbose --no-acl --no-owner -U username -h hostname -p 5432 -d databasename < local.dump

Wenn Sie dann zur Eingabe eines Passworts aufgefordert werden, fügen Sie einfach das Passwort aus der Verbindungszeichenfolge ein