How do I fix a pgbackups error: backup url is invalid?

空扰寡人 提交于 2019-12-10 20:09:56

问题


I'm trying to follow the instructions on migrating to Cedar (except I did a major rewrite so this isn't a branch of the previous app but a separate one) and stuck at the db migration step. I installed the pgbackup and heroku postgresql addons but get this result:

j3(master) : heroku pgbackups:restore DATABASE heroku pgbackups:url --app dada-foe-110 --app something-something-4311 32mQkEpWyJdfplOnXhlCnCRsoxYE12-05-25 --app something-something-4311 EXTERNAL_BACKUP <---restore--- b002.dump

! WARNING: Destructive Action ! This command will affect the app: something-something-4311 ! To proceed, type "something-something-4311" or re-run this command with --confirm something-something-4311

[entered app name]

Retrieving... done

! An error occurred and your restore did not finish. ! The backup url is invalid. Use pgbackups:url to generate a new temporary URL.


回答1:


There is a bug with the Heroku gem version 2.26.(0 through 2). We have released a fix. Upgrade to version 2.26.3 or higher

Make sure the output of heroku pgbackups:url --app dada-foe-110 is something like https://s3.amazonaws.com/hkpgbackups/app455048@heroku.com/a273.dump?AWSAccessKeyId=AKIAJYEDAEBRU6KYW6QA&Expires=1337985248&Signature=secretsblah




回答2:


I had a similar problem trying to restore from S3 server. I simply added open/download permission for everyone on that file on S3, otherwise you need to include AWSAccessKeyId as described in Will's answer above.




回答3:


Other reasons for the backup URL to be 'invalid' may be permissions or an error typing or copying the URL. For example, I tried the instructions from heroku to backup and restore a DB from one spot to another, and neglected to make the S3 file readable by Heroku, so the restore failed with this same error.




回答4:


Download the dump from the S3 URL which is provided and put it somewhere else which is freely accessible (I have an S3 account so I just stuck it up there - if your DB is extra large and you want to transfer directly between S3's if you have one the instructions here https://s3.amazonaws.com/thearthedge_backup/db_backup/b011.dump seem like they do the trick) and then use this new URL in your

heroku pgbackups:restore 'ADD_YOUR_NEW_BACKUP_URL_HERE_WITH_SINGLE_QUOTES' --app your-app-to-restore-to

I had been having the same problem for the past couple of days though relocating the backup away from Heroku has seemed to do the trick




回答5:


Turns out I needed to update the Heroku gem. Poor error messaging from them, though, that I had to go to a support ticket to understand this since I was only out of date one or two minor versions and you wouldn't expect breaking changes at that level. Oh well.



来源:https://stackoverflow.com/questions/10761977/how-do-i-fix-a-pgbackups-error-backup-url-is-invalid

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!