sql >> データベース >  >> RDS >> PostgreSQL

Heroku pg:backupsの復元は、明らかにRailsアプリケーションのタイムアウトが原因で失敗します

    ばかげているので投稿するのは難しいですが、私の問題の直接的な解決策は、AmazonS3でリンクを公開しなかったことです。そのため、403エラーが発生していました。

    潜在的な混乱は、エンコードされた文字の長い文字列である非公開リンクを使用できることです。ただし、キャッシュされたURLを使用します。キャッシュは一時的なものであるため、復元プロセスが完了する前にキャッシュが破棄されました。

    したがって、答えは、Amazon S3リンクを公開してから、公開リンクを使用することです。例:https://s3-us-west-2.amazonaws.com/your_bucket_name/your_file_name.dump

    次に:heroku pg:backups restore 'https://s3-us-west-2.amazonaws.com/your_bucket_name/your_file_name.dump' HEROKU_DATABASE_URL

    そうは言っても、この問題と同時に、AccessExclusiveLockに関連する「デッドロック」の問題がまだあると思います。 個別に解決する必要があること、つまり、キャッシュがタイムアウトするのに十分な時間がpg_restoreにかかることでしたが、それは別の問題です。




    1. SELECT(MYSQL / PHP)で2つのテーブルを結合する

    2. MySQLデータベースをAmazonRDSからDigitalOceanに移行する

    3. mysql、php、pdoを使用して大文字と小文字を区別しないように選択します

    4. 重複キー更新のMySQL