PostgreSQL 导出 COMPOUND 查询输出到 CSV

标签 postgresql csv ubuntu export output

我有一个功能齐全的复合 PostgreSQL 查询...

SELECT * FROM 
(SELECT date_trunc('day', date) date, (array_agg(open ORDER BY time 
ASC))[1] o, MAX(high) h, MIN(low) l, (array_agg(close ORDER BY time 
DESC))[1] c
FROM 
(SELECT * FROM ES_test WHERE time BETWEEN 
(SELECT pit_open FROM "contracts" WHERE root_symbol = '@ES' LIMIT 1) 
AND 
(SELECT pit_close FROM "contracts" WHERE root_symbol = '@ES' LIMIT 1)) 
AS pit
GROUP BY date_trunc('day', date) ORDER BY date) AS pit_daily INNER 
JOIN trading_dates ON pit_daily.date = trading_dates.date;

我想将此查询的输出导出到 csv。我已经尝试过 COPY 方法...
Copy (Select * From foo) To '/tmp/test.csv' With CSV DELIMITER ',';

和\copy 方法...
\copy (SELECT * FROM persons) to 'C:\tmp\persons_client.csv' with 
csv

没有任何成功。当我尝试这些时,我会遇到多个错误,包括解析错误或在查询中的“AS”之一之后或在引用创建 csv 文件的位置的“TO”之后纠缠不清。当我尝试创建临时表或临时 View 时,我遇到了类似的错误。有什么建议么?这是版本...
'psql (PostgreSQL) 12.2 (Ubuntu 12.2-2.pgdg18.04+1)'

最佳答案

根据错误消息和评论,您的文件名之前似乎有一个所谓的“智能”引号,或者可能是一个反引号/坟墓。您需要它是一个直接的 ASCII 撇号/单引号。

无论您使用什么来编辑查询似乎都太聪明了一半。但它似乎确实会搞砸你的其他引号,而不仅仅是这些引号。

关于PostgreSQL 导出 COMPOUND 查询输出到 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61332184/

相关文章:

postgresql - 如何设置在 heroku pg :backups results? 上显示的时区

c++ - 在 C++ 中处理非常大的数据

Java从csv读取并显示在jTable上

sql-server - 将 CSV 文件导入 SQL Server 时操作停止

linux - Ubuntu 17.10 上不存在 OpenJDK-9 JDK

postgresql - 存储带有时间戳的原始时区

postgresql - 在 PostgreSQL 中检索索引创建过程的进度

macos - 无法为 Phoenix 运行 postgresql

linux - 意外 token 'newline' 附近的语法错误?

ubuntu - Samba 服务器问题