如何使用psql导出Redshift集群的CSV格式的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用psql导出Redshift集群的CSV格式的数据相关的知识,希望对你有一定的参考价值。
以下是我在Linux Shell Script中尝试过的内容。
psql "dbname=dbname host=host user=user password=password port=port" -A -F ',' -c "select * from table" > /path/sql_output.csv
虽然上面的命令给了我csv格式的输出,但它不是一个好的解决方案。因为这种方法会在很多情况下生成损坏的CSV文件,例如当字段包含引号和逗号时。
我用另一种方法尝试使用COPY命令但是出错了。
psql "dbname=dbname host=host user=user password=password port=port" -c "COPY ( SELECT * FROM TABLE ORDER BY id limit 10 ) TO STDOUT WITH CSV HEADER " > /path/sql_output.csv
任何帮助将非常感激。
注意:我不是超级用户。
答案
要将数据导出到本地文件,您可以使用psql客户端通过使用o file_redirect.csv
将输出重定向到文件来执行此操作:
a -- aligned/unaligned
f , -- field separator , (default is |)
-- show rows on/off
o /tmp/sql_output.csv -- output file
然后:
select * from table;
以上是关于如何使用psql导出Redshift集群的CSV格式的数据的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 SQL Workbench 将 Amazon Redshift 输出保存到本地 CSV?
Postgres/PSQL - 使用批处理文件自动将查询导出到 CSV
如何将 CSV 导出复制到添加了新列的 Redshift 表中?
使用适当的变量类型将 CSV 文件从 redshift 导出到本地