如何使用psql导出Redshift集群的CSV格式的数据

时间:2017-05-24 11:25:29

标签: csv amazon-redshift psql

以下是我在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

任何帮助都会非常感激。

注意:我不是超级用户。

1 个答案:

答案 0 :(得分:0)

要将数据导出到本地文件,您可以使用psql客户端,方法是使用\o file_redirect.csv将输出重定向到文件:

\a    -- aligned/unaligned
\f ,  -- field separator , (default is |)
\t    -- show rows on/off
\o /tmp/sql_output.csv -- output file

然后:

select * from table;