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

Heroku pg:falha na restauração de backups devido aparentemente ao tempo limite do aplicativo Rails


OK, isso é difícil para mim postar porque me sinto tão estúpido, mas a solução direta para o meu problema foi que eu não tornei meu link público no Amazon S3. É por isso que eu estava recebendo um erro 403.

A confusão potencial é que você pode usar o link não público, que é uma longa sequência de caracteres codificados. Mas ele usa um URL em cache. Como o cache é temporário, o cache foi descartado antes que meu processo de restauração pudesse ser concluído.

Portanto, a resposta é tornar o link do Amazon S3 público e usar o link público, por exemplo:https://s3-us-west-2.amazonaws.com/your_bucket_name/your_file_name.dump .

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

Dito isto, concomitante a este problema, acredito que ainda haja um problema de 'deadlock' relacionado ao AccessExclusiveLock que eu preciso resolver separadamente, isso estava fazendo o pg_restore demorar o suficiente para o cache atingir o tempo limite, mas isso é um problema separado.