PostgreSQL Экспорт выходных данных составного запроса в CSV - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть полностью работающий составной 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» в запросе или сразу после «TO», которое указывает местоположение для создания файла CSV. Я получаю похожие ошибки при попытке создать временную таблицу или временное представление. Какие-либо предложения? Это версия ...
'psql (PostgreSQL) 12.2 (Ubuntu 12.2-2.pgdg18.04 + 1)'

1 Ответ

1 голос
/ 21 апреля 2020

Исходя из сообщения об ошибке и комментария, похоже, что у вас есть так называемая «умная» кавычка или, возможно, обратная косая черта / могила перед именем вашего файла. Вам нужно, чтобы это был прямой апостроф ASCII / одинарная кавычка.

То, что вы используете для редактирования своих запросов, кажется слишком умным вдвое. Но похоже, что это испортило бы и остальные ваши кавычки, а не только эти.

...