Problema di ripristino del database Heroku

Hanno attraversato diverse soluzioni disponibili su stackoverflow e anche su diversi forum. Ma nessuno affronta il problema preciso.

Come da documentazione: https://devcenter.heroku.com/articles/heroku-postgres-import-export

Ho il file di dump creato dal mio database locale, con questo comando:

 pg_dump -Fc --no-acl --no-owner -h localhost -U postgres dss_iaya>dss_iaya_db_dump1.dump 

Quindi, come da documentazione, caricato su un server con URL di accesso pubblico: https://firebasestorage.googleapis.com/v0/b/iaya-664f3.appspot.com/o/dss_iaya_db_dump1.dump?alt=media&token=06167d04-1e98- 4e4b-b0e0-9d83a86dd167

Ora quando provo a ripristinare su Heroku come da sua documentazione syntax heroku pg:backups:restore [BACKUP] [DATABASE] --app APP usando il seguente comando, restituisce un messaggio di errore durante il ripristino.

 heroku pg:backups:restore --app heroku-postgres-*** 'https://firebasestorage.***/dss_iaya_db_dump1.dump?alt=media&token=***' 'postgres://quesu***:I***@ec2-54-***.eu-west-1.compute.amazonaws.com:5432/d3n***k0' 

Ho usato *** solo per scopi di sicurezza, in quanto non posso menzionare le credenziali complete. Ma credo che si possa capire l’intera syntax.

Quando ripristino lo stesso file .dump su un database locale appena creato, funziona senza problemi e crea / ripristina l’intero database con tabelle e dati.

Schermo della console di comando

Registro delle informazioni

Nei registri viene visualizzata la dimensione del dump: 0 byte . Inoltre vedi l’ abortire e 403 , quindi se controlli il tuo file: https://llfirebasestorage.googleapis.com/vo/b/iaya-664f3.appspot.com/0/dss_iaya_db_dump1.dump?a1t=media

ottieni:

 404. That's an error. The requested URL /vo/b/iaya-664f3.appspot.com/0/dss_iaya_db_dump1.dump was not found on 

questo server. È tutto quello che sappiamo.

Ho appena trovato la soluzione, in realtà due cose erano sbagliate nel mio caso.

Uno, il file .dump caricato non era ben leggibile / utilizzabile dal heroku .

Due, l’URL completo di heroku postgresql DB non doveva essere fornito.

Quindi, il modo corretto per me è che il file caricato dovrebbe essere accessibile senza alcun token e anche senza alcun percorso virtuale / indiretto, ecc. L’URL del file dovrebbe puntare direttamente al file . Nel mio problema in discussione stavo usando firebase per ospitare temporaneamente il mio file DB per eseguire l’operazione heroku . E firebase non stava fornendo l’URL diretto al file fisico caricato .

 heroku pg:backups:restore --app heroku-postgres-f3*** 'https://www.h***.com/dss_iaya_db_dump2.dump' DATABASE_URL 

Dopo aver digitato questo comando, mi è stato chiesto di ridigitare il nome dell’app heroku solo per confermare l’operazione. Una volta fatto, tutto ha funzionato come un fascino.