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

问题描述 投票:1回答:1

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

任何帮助将非常感激。

注意:我不是超级用户。

csv amazon-redshift psql
1个回答
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;
© www.soinside.com 2019 - 2024. All rights reserved.