psql의 \dt
을 사용하여 데이터베이스의 모든 테이블을 나열하고 있습니다. 결과를 파일에 저장해야합니다.psql - 명령 결과를 파일에 저장하십시오.
이전에 해본 적이 있지만 구문을 기억할 수는 없습니다.
감사합니다.
psql의 \dt
을 사용하여 데이터베이스의 모든 테이블을 나열하고 있습니다. 결과를 파일에 저장해야합니다.psql - 명령 결과를 파일에 저장하십시오.
이전에 해본 적이 있지만 구문을 기억할 수는 없습니다.
감사합니다.
에서 psql의의 도움 (\?
) :
\ O [FILE] 파일 또는 모든 쿼리 결과를 보내 | 명령의 순서는 다음과 같이됩니다
파이프 :
[[email protected] ~]$ psql db
Welcome to psql 8.3.6, the PostgreSQL interactive terminal
db=>\o out.txt
db=>\dt
db=>\q
[[email protected] ~]$
에게
\ dt보다 먼저 호출하거나 조합하여 호출합니까? 구문 감사를 포함하십시오. – pstanton
'\ o'를 다시 입력하면 다시 꺼집니다. –
슬프게도,'\?'의 출력은 파일에 가지 않습니다. : – blitzen9872
내부 psql 명령이 있다고 가정하지만에서 script
명령을 실행할 수도 있습니다.210 패키지 :
설명 스크립트는 터미널에 인쇄 된 모든 것을 타이프 크립트합니다.
psql \o
명령은 이미 jhwist에서 설명했습니다.
대체 방법은 COPY TO
명령을 사용하여 서버의 파일에 직접 쓸 수 있습니다. 이것은 psql의 표 형식이 아닌, 당신이 선택한 쉬운 형식으로 덤프 될 수 있다는 장점이 있습니다. COPY FROM
을 사용하여 다른 테이블/데이터베이스로 가져 오는 것도 매우 쉽습니다.
NB! 이를 위해서는 수퍼 유저 권한이 필요하며 서버의 파일 에 쓸 것입니다.
예 : COPY (SELECT foo, bar FROM baz) TO '/tmp/query.csv' (format csv, delimiter ';')
가 함께 CSV 파일을 작성 ';' 필드 구분자로.
언제나
, 포스트 그레스 명령이 사용자에 대해 작업 할 수 있습니다 see the documentation for details\copy
. 그것은 \ DT는 작동 여부,하지만 일반 구문은 다음 링크에서 재생되는 경우 몰라 Postgres SQL copy syntax
\copy (select * from tempTable limit 100) copy to 'filenameinquotes' with header delimiter as ','
위의 CSV 파일로 제공되는 파일 이름에서 선택 쿼리의 출력을 저장합니다
편집 :
내 psql 서버의 경우 다음 명령이 작동합니다. 이것은 구버전 버전 v8입니다.
: 당신은 당신이이 방법으로 실행할 수 있습니다 ufgtoolspg=> COPY (SELECT foo, bar FROM baz) TO '/tmp/query.csv' (format csv, delimiter ';') ; ERROR: must be superuser to COPY to or from a file HINT: Anyone can COPY to stdout or from stdin. psql's \copy command also works for anyone.
다음과 같은 오류를 가지고있는 경우 5
copy (select * from table1) to 'full_path_filename' csv header;
매우 편리합니다, 감사합니다. .copy to ... '가 필요하지 않습니다. - 실제로 최신 버전에서는 명령이 실패하게됩니다. – Tom
Tom, 필자는 설치가 잘못되었다고 생각합니다. 설치 프로그램에서 작동하는 게시물을 편집했습니다. pgsql 8.5ver –
COPY tablename TO '/tmp/output.csv' DELIMITER ',' CSV HEADER;
이 명령은 CSV
로 전체 테이블을 저장하는 데 사용됩니다 psql somepsqllink_or_credentials -c "COPY (SELECT foo, bar FROM baz) TO STDOUT (format csv, delimiter ';')" > baz.csv
http://stackoverflow.com/questio ns/3939329/put-output-from-postgres-i-input-to-a-file. –