【发布时间】:2023-03-23 15:45:01
【问题描述】:
下面是我在 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
任何帮助将不胜感激。
注意:我不是这里的超级用户。
【问题讨论】:
-
Postgres 还是 Redhift?这是两个非常不同的事情。还有什么是你得到的错误?
-
这是为 Redshift 准备的。错误:“(”或附近的语法错误。
-
As documented in the manual Redshift 不支持查询
copy命令 -
@a_horse_with_no_name 任何替代方法?
-
只需先创建一个(临时)表,然后将其用于
COPY。
标签: csv amazon-redshift psql