2016-05-28 9 views
1

同様の質問がされていますが、解決策はありませんでした。ローカルデータベースをHeroku dbにプッシュしようとしていますが、psql:致命的:パスワード認証に失敗しました。ユーザー "windows username"に失敗しました。Heroku pg:push psql:致命的:ユーザーのパスワード認証に失敗しました

私は窓の午前、ので、私はSET PGUSER = PostgresはPGPASSWORD =パスワードを

を設定しようとしたがその後、Herokuのは、pgが走った:localdb DATABASE_URL --app herokuapp

を押すしかし、まだこの愚かなパスワードエラーを取得しています。それは、それは私のWindowsのユーザー名ではなく、Postgresのユーザー名を使用しているように見えている....私はこれを解決するには?

答えて

1

Herokuのサポートのおかげで、私はついにこれを動作させることができました。だから、Windowsユーザーのために、これらの手順は次のとおりです。

まず、ダンプ・ファイルに出ローカル・データベースをダンプします:

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

その後、あなたはHerokuのアプリケーションのconfig VARSから接続文字列を取得したいです:

heroku config:get DATABASE_URL 

その後、あなたは、接続文字列からユーザー名/ホスト名/データベース名の部分、すなわちを選び出すしたい:postgresの://ユーザー名:パスワード@ホスト名:ポート/データベース名 実際のデータを使用して本番データベースに対してこれを実行するという1つの警告は避けたいものですので、pg_restoreに注意してください。これを手動で実行すると、CLIチェックなしでデータをマニングするリスクがあります。そのため、ターゲットデータベースが最初に空であることを手動で確認する必要があります。パスワードの入力を求められたら、次に

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

は、単に接続文字列からパスワードに貼り付ける

関連する問題