【问题标题】:Heroku Postgres - Import from CSV via CLIHeroku Postgres - 通过 CLI 从 CSV 导入
【发布时间】:2018-08-06 12:26:45
【问题描述】:

有一段时间试图找到尝试导入 CSV 的解决方案(在我的机器上本地 - 不要问 - 这是客户问题,这是我目前可以从他们那里获取数据的唯一方法) 进入我在heroku 上的pg 数据库。已尝试使用 COPY 直接从可公开访问的 URL 读取文件,但我需要 pg 中的超级用户权限才能执行此操作。尝试使用 cat 将文件的输出通过管道传输到标准输入,但不确定我是否获得了正确的格式(它似乎总是完成但没有导入数据 - 完成后显示“COPY 0”)。

cat ~/Downloads/localfile.csv | heroku pg:psql -c "COPY testonly FROM STDIN WITH (FORMAT CSV);"

因为在接下来的几个月里我将不得不再做几次,我宁愿不必在本地导入它然后导出备份。如果我能让 COPY 选项正常工作,那就太好了。

【问题讨论】:

    标签: postgresql heroku heroku-postgres


    【解决方案1】:

    您已经很接近了,除了您需要将您的 csv 提供给您当地的psqlheroku pg:psql 不接受标准输入。

    这样

    cat ~/Downloads/localfile.csv | \
    psql `heroku config:get DATABASE_URL` -c "COPY testonly FROM STDIN WITH (FORMAT CSV);"
    

    【讨论】:

    • 漂亮!像冠军一样工作。
    • 谢谢@Stan。就我而言,我还必须在 DATABASE_URL 之后添加 --app <app_name> :)
    • 当然。或者您可以export HEROKU_APP_NAME=...,这样您就不必一直指定它。并且您可以使用direnv.net 在每个目录的基础上自动管理它。
    • 我收到一个错误 psql:错误:无法连接到服务器:致命:角色“matthew”不存在
    猜你喜欢
    • 2012-06-21
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    相关资源
    最近更新 更多