如何将 .csv 文件导入 Hasura PostgreSQL 数据库?
Posted
技术标签:
【中文标题】如何将 .csv 文件导入 Hasura PostgreSQL 数据库?【英文标题】:How do I import a .csv file into my Hasura PostgreSQL database? 【发布时间】:2018-05-02 23:21:30 【问题描述】:我有一个 .csv 文件中的数据,我想将其导入到我的 Hasura 集群的 PostgreSQL 数据库实例中。最好的方法是什么?
【问题讨论】:
最好的方法是发布您的代码。以及由此产生的错误信息。 #期间 【参考方案1】:使用适当的架构创建 table_name
以吸收您的 CSV 数据;使用 psql 将数据流式传输到 postgres。执行这个命令:
$ psql <postgres-url> -d <database-name> -U <user-name> -c \
"copy table_name from STDIN with delimiter as ',';" \
< /path/to/file.csv
您将拥有来自表table_name
内的CSV文件的数据
【讨论】:
如果本地没有安装psql,也可以使用ms cp和ms exec命令:$ hasura ms cp /path/to/file.csv hasura/postgres:/data.csv
和$ hasura ms exec postgres -n hasura -- psql -U admin -d hasuradb -c "copy table_name from STDIN with delimiter as ',';" < /data.csv
您有hasura microservice
命令的参考吗?我在Hasura CLI docs 中看不到它【参考方案2】:
在此处添加我的答案以供参考。在 Heroku 中部署 Hasura 时,我们可以通过从 Heroku 资源仪表板访问 Postgres 插件来获取 Postgres 数据库的临时凭证。然后,您可以使用设置选项卡上提供的 url 直接访问数据库。
psql 'postgres://UUUUUU:PPPPP@ec2-54-247-72-30.eu-west-1.compute.amazonaws.com:5432/DBNAME'
然后在 Postgres 控制台中,您可以执行以下操作:
\copy countryinfo from 'countryinfo.csv' with delimiter as E'\t';
以上是从 Geonames.org 下载的制表符分隔文件。注意:我在输入之前删除了注释行。
【讨论】:
以上是关于如何将 .csv 文件导入 Hasura PostgreSQL 数据库?的主要内容,如果未能解决你的问题,请参考以下文章