OK det här är svårt för mig att posta eftersom jag känner mig så dum, men den direkta lösningen på mitt problem var att jag inte gjorde min länk offentlig på Amazon S3. Det var därför jag fick ett 403-fel.
Den potentiella förvirringen är att du kan använda den icke-offentliga länken, som är en lång rad kodade tecken. Men den använder en cachad URL. Eftersom cachen är tillfällig kastades cachen innan min återställningsprocess kunde avslutas.
Så svaret är att göra Amazon S3-länken offentlig och sedan använda den offentliga länken, t.ex.:https://s3-us-west-2.amazonaws.com/your_bucket_name/your_file_name.dump
.
Sedan:heroku pg:backups restore 'https://s3-us-west-2.amazonaws.com/your_bucket_name/your_file_name.dump' HEROKU_DATABASE_URL
.
Med det sagt, samtidigt med det här problemet tror jag att det fortfarande finns ett "låsningsproblem" relaterat till AccessExclusiveLock
som jag måste lösa separat, det gjorde att pg_restore tog tillräckligt lång tid för cachen att ta slut, men det är ett separat problem.