【问题标题】:Problem with postgres \copy command for export query resullt to file用于将查询结果导出到文件的 postgres \copy 命令出现问题
【发布时间】:2021-05-10 11:12:45
【问题描述】:

我尝试将选择查询结果导出到 csv 文件。我使用 Postgres \copy 元命令和命令行 (psql) 来做到这一点。但我得到一个语法错误,不明白为什么。查询对我来说看起来不错。也许是使用元命令而不是 COPY 的原因? 查询

\copy
  (
    SELECT geo_name, state_us_abbreviation, housing_unit_count_100_percent
    FROM us_counties_2010
    ORDER BY housing_unit_count_100_percent DESC
    LIMIT 20
  )
TO '/username/Desktop/us_counties_2010_export.csv' 
WITH(FORMAT CSV, HEADER, DELIMITER '|');

错误信息

ERROR:  syntax error at or near "TO"
LINE 7: TO '/username/Desktop/us_counties_2010_export.csv'

【问题讨论】:

  • 排除显而易见的问题:您正在使用psql 来运行这个?
  • 使用psql运行psql -d yourdb -c "COPY .... TO STDOUT " > /username/Desktop/us_counties_2010_export.csv
  • 请显示错误信息。
  • @a_horse_with_no_name 是 psql
  • Laurenz Albe - 添加了错误消息

标签: postgresql


【解决方案1】:

\copy 是给psql 的元命令,而不是发送给服务器的常规命令。因此,与其他元命令一样,整个 \copy 命令必须全部放在一行中,并且不能以 ; 结尾,而是以换行符结尾。

如果你仔细观察,你会看到你得到的第一个错误是\copy: arguments required

【讨论】:

  • 在一行中工作,没有 ;非常感谢!
猜你喜欢
  • 2016-12-22
  • 2015-09-12
  • 1970-01-01
  • 2010-11-17
  • 2015-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多