How to display rows in heroku database? - postgresql

This page says with this command heroku pg:psql you can see see all the rows.
https://devcenter.heroku.com/articles/getting-started-with-python#provision-a-database
but after using this command I got something like this.

You will have to take a backup of the hosted Postgres DB add-on and restore it to your local machine. Here's a useful article from their site.
Postgres-import-export

Related

How to see what is in your Heroku-Postgress DB

I recently uploaded a WebApplication to Heroku. I developed it using sqlite; however, I then changed it to Heroku-Postgres.
Nonetheless, I am not able to view in any way the data that is in my database.
There are no problems with the code and the WebApplication works perfectly however it would be very useful to be able to tap into the data.
Download the Heroku CLI and get access to the postgres admin console.
heroku pg:psql -a appName
Use this command in terminal, This will connect you to pgadmin console.
You can use dbeaver database client, but it is very slow because it is free db from heroku.
https://dbeaver.io/download/
Or you can use heroku CLI, psql

Database transfer from Heroku to Digital Ocean

I'm currently in the process of switching my cloud server from Heroku to Digital Ocean. However is there a way to migrate the database from the heroku server to the digital ocean one? I use postgresql for my database
I hope you already got a solution, but in case you didn’t, I’ll provide a simple guide on how I did it. I am going to assume that you have already created a postgres database on digitalocean. Also you need navigate to your project directory and log in to heroku using the heroku cli. And, you need to have postgresql installed or a psql client. Installing postgresql would do it as it comes with psql.
Step 1: Create a backup and download the backup from heroku postgres
heroku pg:backups:capture --app <app_name>
heroku pg:backups:download --app <app_name>
The first command will create a backup of your database and the second command will download it to your current directory, its a .dump file. If you would like to read more, here is an article.
Step 2: Connect to your remote (digital ocean’s) database using psql
Before you can do this, you need to go and add your machine you are connecting from to the list of database’s list of trusted sources, If you don’t, you’ll get a Connection Timed Out error. That’s because the database’s firewall doesn’t allow you to connect to the database from your local machine or resource (for security reasons).
Step 3: Import the Database
pg_restore -d "postgresql://<database_username>:<database_password>#<host>:<port>/<database>?sslmode=require" --jobs 4 -c "/path/to/dump_file.dump"
This will import your database from your dump file. Just substitute the variables will your connection parameters that you get from your dashboard. If you would like to read more, here is another article for this step.
Another thing to make clear is, sometimes, you will see some harmless error messages when running this command, but it will push through anyway. To learn more about pg_restore read this article.
And that’s it, your database has been migrated. Now, can you confirm it worked?, well, as for me, I used pgAdmin to connect to the remote database and I saw the tables and data as expected.
Hope this helps anyone with the same problem :)

Is there a way to copy a postgres db to heroku?

I have a django project that I was initially running on pythonanywhere using a postgres database. However, pythonanywhere doesn't support ASGI, so I am migrating the project over to heroku. Since heroku either much prefers or mandates use of its own postgres functionality, I need to migrate the data from elephantsql. However, I'm really coming up short on how... I tried running pg_dumpall but it didn't seem to want to work and/or the file disappeared into the ether. I'm at a loss for how to make this migration... If anyone could help, I'd appreciate it so much. T-T
After hours of searching and doing what I can to scour heroku's listed info, I found it by running heroku pg:push --help.
For a locally running server, run
heroku pg:push '<db_name>' <heroku_db_name> --app <app_name>
For a hosted one, run
heroku pg:push <postgres_link> <heroku_db_name> --app <app_name>

heroku db:pull to ubuntu postgresql

I want to migrate my application from Heroku to my own ubuntu server. What is the correct syntax to do this using taps/heroku db:pull?
If you are moving data between a local and cloud database both of which are Postgres you should follow the instructions on Heroku's Devcenter:
https://devcenter.heroku.com/articles/migrating-data-between-plans
You would simply do heroku db:pull to pull the database from Heroku to your local db which you would then backup and restore to your own server. If it's a large database you might want to look into Heroku pgbackups as an alternative as it will provide you with a downloadable backup.
Note: If you want to migrate between databases, ie postgres => mysql then you would have to use the db:pull approach.

Destroying a Postgres DB on Heroku

I want to destroy the database but I'm not sure what the command would be. Does anyone know how to do this?
You shouldn't use a postgres command to fully delete your database, as you will not have permissions to create a new one. Instead you should use the heroku command to clear out your database:
heroku pg:reset DATABASE_URL
None of the answers above actually describe how to destroy a Heroku database, which was the original question (and what led me here seeking an answer).
From their docs, either of these will work:
heroku addons:destroy heroku-postgresql:tier (where tier is the database tier, like hobby-dev)
heroku addons:destroy HEROKU_POSTGRESQL_<COLOR> (if you have more than one database of that tier)
Note that because this is a destructive action it will prompt you to confirm the action. If you want to use this in a script you can skip the prompt with something like this:
heroku addons:destroy HEROKU_POSTGRESQL_<COLOR> --confirm <appname>
Hope that's helpful!
To answer Siamii's question above: DATABASE in heroku pg:reset DATABASE is by default postgres
Simply follow the steps below. Run
heroku pg:reset DATABASE
to recreate the database with nothing in it, then run
heroku run rake db:migrate
to initialize the database with the correct schema & data.
Look at the new heroku documentation it helps ;)