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

Die Wiederherstellung von Heroku pg:backups schlägt offensichtlich aufgrund einer Zeitüberschreitung der Rails-Anwendung fehl

OK, das ist schwer für mich zu posten, weil ich mich so dumm fühle, aber die direkte Lösung für mein Problem war, dass ich meinen Link nicht auf Amazon S3 veröffentlicht habe. Deshalb bekam ich einen 403-Fehler.

Die potenzielle Verwirrung besteht darin, dass Sie den nicht öffentlichen Link verwenden können, bei dem es sich um eine lange Zeichenfolge codierter Zeichen handelt. Aber es verwendet eine zwischengespeicherte URL. Da der Cache temporär ist, wurde er verworfen, bevor mein Wiederherstellungsprozess abgeschlossen werden konnte.

Die Antwort ist also, den Amazon S3-Link öffentlich zu machen und dann den öffentlichen Link zu verwenden, z. B.:https://s3-us-west-2.amazonaws.com/your_bucket_name/your_file_name.dump .

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

Abgesehen davon glaube ich, dass es neben diesem Problem immer noch ein Deadlocking-Problem im Zusammenhang mit AccessExclusiveLock gibt das muss ich separat lösen, das hat dazu geführt, dass pg_restore lange genug dauerte, bis der Cache abgelaufen ist, aber das ist ein separates Problem.