【问题标题】:How do I import a .csv file into my Hasura PostgreSQL database?如何将 .csv 文件导入 Hasura PostgreSQL 数据库?
【发布时间】:2018-05-02 23:21:30
【问题描述】:

我有一个 .csv 文件中的数据,我想将其导入到我的 Hasura 集群的 PostgreSQL 数据库实例中。最好的方法是什么?

【问题讨论】:

  • 最好的方法是发布您的代码。以及由此产生的错误信息。 #期间

标签: postgresql csv hasura


【解决方案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 ',';" &lt; /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 下载的制表符分隔文件。注意:我在输入之前删除了注释行。

【讨论】:

    猜你喜欢
    • 2021-10-20
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 2021-11-22
    相关资源
    最近更新 更多