【问题标题】:redshift COPY TO file from Xen-tables not supported不支持 Xen-tables 中的 redshift COPY TO 文件
【发布时间】:2014-06-18 19:45:32
【问题描述】:

我正在尝试将表从 redshift 复制(而不是卸载)到本地文件。
我在 psql 中运行:

\copy my_schema.my_table to 'my_file.csv' with csv;  

我得到了错误

ERROR:  COPY TO file from Xen-tables not supported

跑步

\copy (select * from my_schema.my_table) to 'my_file.csv' with csv;  

引发语法错误:

ERROR:  syntax error at or near "("

我应该如何进行复制?
谢谢,
达芙娜

【问题讨论】:

    标签: copy amazon-redshift


    【解决方案1】:

    您可以将 psql 输出重定向到本地文件:

    psql [your connection options go here] -F, -A \
      -c 'select * from my_schema.my_table' >my_file.csv
    

    -F, 将字段分隔符设置为逗号

    -A 为您提供未对齐/未格式化的输出

    要指定不同的分隔符(如管道),请使用 '|' 而不是 -F

    注意:上述命令不会容忍文本字段中的换行符,它们不会被编码并过早终止该行。

    【讨论】:

    • 谢谢,但是当我使用 -F 时,输出会分隔其中包含逗号字符的值。我应该如何避免这种情况?
    • 你是对的——查看更新,该解决方案应该适合你(否则,你也可以考虑使用不同的分隔符而不是逗号,或者用引号手动转义你的字段)。
    • 实际上,Redshift 似乎也缺少 COPY TO STDOUT (还原了我的编辑)。尝试手动转义路由或使用其他分隔符。
    猜你喜欢
    • 2016-07-11
    • 1970-01-01
    • 2018-09-14
    • 2020-10-05
    • 2018-05-06
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    • 2013-10-29
    相关资源
    最近更新 更多