1

pg_dump コマンドを使用して開発データベースをファイルにダンプし、これを heroku がホストする Rails アプリにアップロードする必要があります。

rails コマンドが使えない

  "heroku db:push"

Heroku サポートから、pg_dump ツールを使用して cleint とサーバー間でデータベースを転送するように依頼されました。

このコマンドを実行しました:

  pg_dump -U XXXXX -w app0521_development

データベースの内容全体をコンソールに出力します

しかし、このコマンドは何らかの理由で失敗します:

  pg_dump -U postgres -w app0521_development > test.dump

このエラーメッセージで -bash: test.dump: Permission denied

4

2 に答える 2

2

特別なフォルダーを作成して、postgres ユーザー/グループに読み取りと書き込みのアクセス権を付与するか、/tmp/test.dump に送信できるようにする必要があると思います。

pg_dump -U postgres -w app0521_development > /tmp/test.dump

ほとんどの場合 (少なくとも Ubuntu では)、/tmp フォルダーにはすべてのユーザーに対して "読み取り + 書き込み + 実行" があります。ただの警告です...機密データが含まれている場合は、そのボックスに乗ることができるすべての人に公開されています. だから、それをきれいにしてください!また、/tmp フォルダーには「t」フラグが設定されていることにも注意してください。「t」は、このディレクトリにファイルを作成したユーザー (およびルート) のみがそのファイルを削除できることを示します。

独自のフォルダを作成する場合は、「chgrp」をグーグルで検索してください。もちろん、グループに「読み取り/書き込み」を許可する必要があります。

于 2012-09-29T04:29:57.870 に答える
0

このエラーメッセージで-bash:test.dump:アクセスが拒否されました

test.dumpの前に>を付けて、何が起こるかを確認してください。それがあなたが欲しいバックアップファイルだと思いますか?これは、ファイルシステムのアクセス許可の問題のように聞こえます。

于 2012-09-29T04:17:06.763 に答える