Figured this out in https://github.com/simonw/simonwillisonblog/issues/132 - I was running PostgreSQL 9.x and I wanted 11.x in order to use the new search_type="websearch"
option in Django 3.1.
I followed the steps in Upgrading with pg:copy (I don't have any database followers so the pg:upgrade
route wasn't open to me).
Because I'm the only user who writes to my database I skipped the maintenance mode bit.
$ heroku addons:create heroku-postgresql:hobby-basic -a simonwillisonblog
Creating heroku-postgresql:hobby-basic on ⬢ simonwillisonblog... $9/month
▸ Release command executing: config vars set by this add-on will not be
▸ available until the command succeeds. Use `heroku releases:output` to view
▸ the log.
Database has been created and is available
! This database is empty. If upgrading, you can transfer
! data from another database with pg:copy
Created postgresql-animate-15868 as HEROKU_POSTGRESQL_JADE_URL
Use heroku addons:docs heroku-postgresql to view documentation
I had to wait for it to finish provisioning first:
heroku pg:wait -a simonwillisonblog
Then I used this command to figure out which _URL
it had:
heroku config -a simonwillisonblog | grep URL
Which meant I could run the copy:
$ heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_JADE_URL --app simonwillisonblog
▸ WARNING: Destructive action
▸ This command will remove all data from JADE
▸ Data from DATABASE will then be transferred to JADE
▸ To proceed, type simonwillisonblog or re-run this command with --confirm simonwillisonblog
> simonwillisonblog
Starting copy of DATABASE to JADE... done
Copying... done
$ heroku pg:promote HEROKU_POSTGRESQL_JADE -a simonwillisonblog
Ensuring an alternate alias for existing DATABASE_URL... HEROKU_POSTGRESQL_OLIVE_URL
Promoting postgresql-animate-15868 to DATABASE_URL on ⬢ simonwillisonblog... done
Checking release phase... pg:promote succeeded. It is safe to ignore the failed Detach DATABASE (@ref:postgresql-contoured-66343) release.
% heroku addons:destroy HEROKU_POSTGRESQL_OLIVE -a simonwillisonblog
▸ WARNING: Destructive Action
▸ This command will affect the app simonwillisonblog
▸ To proceed, type simonwillisonblog or re-run this command with --confirm simonwillisonblog
> simonwillisonblog
Destroying postgresql-contoured-66343 on ⬢ simonwillisonblog... done
Created 2020-07-20T11:58:27-07:00, updated 2021-02-26T07:31:57-08:00 · History · Edit