2017-09-12 7 views
1

이것은 완벽하게 작동합니다. 테이블 1의 모든 열을 .csv 파일로 내보냈습니다.postgres 사용 중 오류 Windows 배치 파일에서 복사

(
echo \copy table1 TO '%HOME%\net\CSV_OUTPUT.csv' DELIMITER ',' CSV HEADER; 
) | "C:\Program Files\PostgreSQL\9.3\bin\psql.exe" -h %DB_HOST% -p 5432 -U %DB_USER% -d %DB_NAME% 

그러나 선택한 열만 .csv 파일로 내보내려고했지만 지금까지 시도한 것은 작동하지 않습니다.

내가 SELECT 사용하여 시도했다

하지만라는 오류 반환 "제품에이 시간에 예상치 못한을"나는 또한 괄호를 제거하기 위해 노력했다

echo \copy (SELECT red_foo FROM table1) TO '%HOME%\net\CSV_OUTPUT.csv' DELIMITER ',' CSV HEADER; 

하지만

를 말한다 오류를 반환

"\ 복사 :에서 구문 분석 오류"red_foo이 구현을위한 ""

어떻게해야 올바른 방법? 귀하의 제안과 아이디어는 높이 평가됩니다.

+2

'\ copy' 문을 별도의 SQL 스크립트에 넣고'psql ... -f export.sql'을 사용하십시오. –

+0

아니면 닫는 괄호를 그냥 이스케이프하십시오. 'echo \ copy (red_foo from table1 ^) TO 등 ... ' – rojo

+0

@a_horse_with_no_name 이것은 완벽하게 작동합니다. 감사합니다. – Junior

답변

0

의견에 @a_horse_with_no_name 제안을 사용하여 선택한 열만있는 .csv 파일을 성공적으로 내 보냈습니다.

\ copy 문을 포함하는 별도의 SQL 스크립트은 내 Windows 배치 스크립트의 psql 명령에 사용되며 매력처럼 작동합니다.