Nice programing

Psql 출력에서 ​​결과 집합 장식을 숨기는 방법

nicepro 2020. 12. 1. 19:45
반응형

Psql 출력에서 ​​결과 집합 장식을 숨기는 방법


psql의 출력에서 ​​열 이름과 행 수를 어떻게 숨기나요?

다음을 사용하여 psql을 통해 SQL 쿼리를 실행하고 있습니다.

psql --user=myuser -d mydb --output=result.txt -c "SELECT * FROM mytable;"

그리고 다음과 같은 출력을 기대하고 있습니다.

1,abc
2,def
3,xyz

그러나 대신 나는 얻는다 :

id,text
-------
1,abc
2,def
3,xyz
(3 rows)

물론, 사실 후에 맨 위 두 행과 맨 아래 행을 필터링하는 것이 불가능하지는 않지만 psql만으로 할 수있는 방법이 있습니까? 맨 페이지를 읽어 보면 필드 구분 기호를 제어하는 ​​옵션이 있지만 외부 출력을 숨기는 옵션은 없습니다.


-t또는 --tuples-only옵션을 사용할 수 있습니다 .

psql --user = myuser -d mydb --output = result.txt -t -c "SELECT * FROM mytable;"

다음 을 추가하기 위해 편집 (1 년 이상 후) :

또한 체크 아웃 할 수 있습니다 명령을 . 더 이상 테스트하기 편리한 PostgreSQL 인스턴스가 없지만 다음 줄을 따라 작성할 수 있다고 생각합니다.COPY

psql --user = myuser -d mydb -c " 'result.txt'DELIMITER ','에 mytable 복사"

( result.txt절대 경로 여야하는 경우를 제외하고 ). COPY명령은 또한보다 지능적인 CSV 형식을 지원합니다. 설명서를 참조하십시오 .


psql 내에서 출력을 리디렉션하고 동일한 옵션을 사용할 수도 있습니다. \ o를 사용하여 출력 파일을 설정하고 \ t를 사용하여 튜플 만 출력합니다 (또는 \pset행 개수 "바닥 글"만 해제).

\o /home/flynn/queryout.txt
\t on
SELECT * FROM a_table;
\t off
\o

또는

\o /home/flynn/queryout.txt
\pset footer off
. . .

참고 URL : https://stackoverflow.com/questions/9934264/how-to-hide-result-set-decoration-in-psql-output

반응형