【发布时间】:2018-05-02 23:21:30
【问题描述】:
我有一个 .csv 文件中的数据,我想将其导入到我的 Hasura 集群的 PostgreSQL 数据库实例中。最好的方法是什么?
【问题讨论】:
-
最好的方法是发布您的代码。以及由此产生的错误信息。 #期间
标签: postgresql csv hasura
我有一个 .csv 文件中的数据,我想将其导入到我的 Hasura 集群的 PostgreSQL 数据库实例中。最好的方法是什么?
【问题讨论】:
标签: postgresql csv hasura
使用适当的架构创建 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文件的数据
【讨论】:
$ 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 中看不到它
在此处添加我的答案以供参考。在 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 下载的制表符分隔文件。注意:我在输入之前删除了注释行。
【讨论】: