Vinicius Dias
Vinicius Dias

Reputation: 58

Is it possible to automatically create a table in PostgreSQL from a csv file with headers?

According with the documentation https://www.postgresql.org/docs/current/sql-copy.html , PSQL command COPY cannot create a table from a tsv or csv file. You need to create a table and its columns before you can COPY to it. Is there any workaround for this issue?

Upvotes: 1

Views: 173

Answers (1)

heron J
heron J

Reputation: 332

There's some ways to workaround this issue.

You can find some scripts around the internet which will do what you're looking for, but the best way I know is using this Data Mover Project.

Besides, it's already published to docker as techindicium/spark-datamover:v0.1. You can call it from the command line:

docker run --network host techindicium/spark-datamover:v0.1 -s /home/path/your_file.csv --filetype csv --destination "jdbc:postgresql://localhost:PORT/DATABASE?user=USERNAME&password=PASSWD" --destination-table MY_DEST_TABLE

Upvotes: 2

Related Questions