【发布时间】:2018-11-07 04:43:54
【问题描述】:
我在我的 MacOS 终端上设置了 psql。它连接到我通过 Amazon RDS 运行的 PostgreSQL 数据库。
我有 100 个 CSV 文件(名称为 1、2、3、4,最多 100 个)。我想批量导入它们。我看到有一些脚本 (https://dba.stackexchange.com/questions/168861/import-100-csv-files-into-postgresql/169089#169089),但我不知道如何运行脚本。
我尝试复制和粘贴此脚本 -
for x in $(ls <folder_name>*.csv);
do psql -c "copy table_name from '$x' csv" also; done
我收到了这些错误 -
db=> for x in $(ls <folder_name>*.csv);
ERROR: syntax error at or near "for"
LINE 1: for x in $(ls <folder_name>...
^
db=> do psql -c "copy <table_name> from '$x' csv" also; done
ERROR: syntax error at or near "psql"
LINE 1: do psql -c "copy <table_name> from '$x' csv" also;
你能帮我 a) 找出正确的脚本来批量导入这些文件 b) 找出如何执行脚本吗?
注意 - 所有文件都将转到同一个表,该表已经存在。
【问题讨论】:
-
这是一个 shell 脚本而不是 plpgsql 脚本。你试过从 shell 运行吗?
-
我从终端窗口运行它。我的印象是终端窗口是shell。准确吗?
-
在我访问 psql 之前,我发现 shell 是终端窗口。
标签: database postgresql csv file-upload psql