【发布时间】:2018-06-08 00:12:41
【问题描述】:
我们使用 SaaS 软件从云端提取营销数据。当我尝试将查询结果转储到这样的 CSV 文件时
psql my.server -p 5432 -U myuser -d mydb -c "\copy (SELECT
c.*,cip.*,cipi.* FROM saas.contacts c LEFT JOIN
saas."contacts__identity-profiles" cip ON
cip."_sdc_source_key_vid" = c.vid LEFT JOIN
saas."contacts__identity-profiles__identities" cipi ON
cipi."_sdc_source_key_vid" = cip."_sdc_source_key_vid" AND
cipi."_sdc_level_0_id" = cip."_sdc_level_0_id") to
'/tmp/contacts.csv' DELIMITER ',' CSV HEADER "
失败并出现以下错误
ERROR: syntax error at or near "-"
LINE 1: ...EFT JOIN saas.contacts__identity-profiles ...
我知道 Postgres 要求我在带连字符的表名周围加上双引号,但这显然不起作用。我试过了
- 像
"contacts__identity\-profiles"那样转义表名中的连字符,但无济于事 - 在表名周围加双引号,但无济于事。
这个问题似乎与在 COPY 命令中使用双引号有关。有什么办法可以解决这个问题?
【问题讨论】:
-
您是否尝试过自己转义双引号?
-
@ccjmne 我也试过了。没有运气。
标签: postgresql