2013-10-01 3 views
0

테이블을 CSV로 내보낼 수 있지만 여러 파일을 동일한 파일에 추가 할 수 있습니까?PostgreSQL에서 동일한 파일로 여러 번 내보내기

나는 (예를 들어) 수출 싶습니다

SELECT * FROM TABLE WHERE a > 5 

을 그리고 나중에 :

SELECT * FROM TABLE WHERE b > 2 

이 동일한 파일로 이동해야합니다. 사전에

감사합니다!

답변

1

이 작업을 수행하는 유일한 방법은 명령 줄에서 출력을 리디렉션하는 것입니다.

psql -d dbname -t -A -F"," -c "SELECT * FROM TABLE WHERE a > 5" >> output.csv 

는 나중에

psql -d dbname -t -A -F"," -c "SELECT * FROM TABLE WHERE b > 2" >> output.csv 

현재 명령 줄 옵션을 찾아 볼 수 있습니다. 파일로 출력

http://www.postgresql.org/docs/9.0/static/app-psql.html

1

사용 \o <filename>. \o을 사용한 후 모든 SELECT 문은 \o을 다른 항목으로 설정할 때까지 <file>에 추가됩니다.

0

\o\copy과 조합하여 사용하면 STDOUT이 작동하는 것 같습니다. 예 :

db=> \o /tmp/test.csv 
db=> \copy (select 'foo','bar') to STDOUT with CSV; 
db=> \copy (select 'foo','bar') to STDOUT with CSV; 
db=> \q 

$ cat /tmp/test.csv 
foo,bar 
foo,bar 
관련 문제