Heroku Postgres - 通过CLI从CSV导入

dgw*_*ebb 3 postgresql heroku heroku-postgres

有一个时间的野兽试图找到一个解决方案试图导入CSV(我的机器本地 - 不要问 - 这是一个客户问题,这是我现在可以从他们那里获取数据的唯一方法)到我的pg数据库在heroku上.尝试过使用COPY直接从可公开访问的URL读取文件,但我需要pg中的超级用户权限才能做到这一点.尝试使用cat将文件的输出传递给stdin,但不确定我是否有正确的格式(它似乎总是完成但没有导入数据 - 当它完成时说"COPY 0").

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

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

小智 8

您很近,除非您需要将csv提供给当地人psql. heroku pg:psql不接受标准输入.

像这样

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