Issue
You want to copy a .csv file from your local machine to a Heroku Postgres table.
Resolution
Run heroku pg:psql -a <application_name>.
Once the Postgres shell opens, run
DATABASE=> \copy table_name FROM csv_file.csv WITH (FORMAT CSV);
(where table_name is the table you wish to copy the data into and csv_file.csv is the path to your local copy of the CSV file)
If an upload data is large, we'd recommend the following:
- Attempt to run the
\copythe data in smaller batches - If it's a private tier plan, attempt to run the
\copyfrom a (one-off) dyno to avoid the extra overhead/latency to connect to the database server
For more information about the Postgres COPY command, please read its documentation found here: https://www.postgresql.org/docs/current/sql-copy.html