PostgreSQL 추가 출력 사용 안 함
Postgre에서 스크립트를 실행 중입니다.SQL 서버:
psql db -f sql.sql
부터bash
아니면.cron
대본.
다음을 사용하여 출력 페이지를 계속 시도합니다.more
또는less
.
에서 결과 페이징을 비활성화하려면 어떻게 합니까?psql
?
제가 원하는 것은 데이터를 바꾸는 것입니다. 어떤 출력도 상관없습니다.
페이지화를 비활성화하고 출력을 유지하려면 다음을 사용합니다.
\pset pager off
이 설정을 기억하려면 ~/.psqlrc에 이 설정을 추가합니다. 예를 들어 다음과 같습니다.echo \\pset pager off >> ~/.psqlrc
이전 버전의 Pg에서는 토글에 불과했습니다.\pset pager
쿼리 출력을 완전히 억제하려면 다음을 사용합니다.\o /dev/null
당신의psql
대본.
억제하기psql
의 정보 출력을 사용하여 실행합니다.-q
또는 집합QUIET=1
환경 속에서
결과를 생성하고 폐기하려면 리디렉션할 수 있습니다.stdout
로./dev/null
포함:
psql db -f sql.sql >/dev/null
다음을 사용하여 stdout 및 stderr을 모두 리디렉션할 수 있습니다.
psql db -f sql.sql >&/dev/null
그러나 오류 정보가 손실되어 문제가 발생할 수 있으므로 권장하지 않습니다.또한 결과를 생성하고 폐기하는 것은 비효율적입니다. 질의를 조정하여 처음부터 결과를 생성하지 않는 것이 좋습니다.
저도 이것을 찾고 있었습니다. ServerFault에 대한 비슷한 질문에서 방법을 찾았습니다.
psql -P pager=off <other params>
출력을 억제하지 않고 페이징 기능을 해제합니다.
다른 방법이 있습니다.psql 옵션 이름 등을 기억할 필요가 없다는 장점이 있습니다.
psql ... | cat
셸인 bash에는 출력 데이터를 리디렉션할 수 있는 스트림이 2개 있습니다. stdout 및 stderr. 이 출력은 어딘가로 리디렉션해야 하기 때문에 Linux에는 /dev/backup을 통해 도달할 수 있는 특정 '모든 것을 리디렉션' 노드가 있습니다.당신이 그곳에 보내는 모든 것은 공허 속으로 사라질 것입니다.
(셸에도 입력 스트림이 있지만 출력 억제를 요청하셨기 때문에 여기서는 무시하겠습니다.)
이러한 스트림은 숫자로 표시됩니다. 1은 stdout이고 2는 stderr입니다.
그래서 만약 당신이 그냥 stdout을 리디렉션하고 싶다면 당신은 그것을 그것으로 할 것입니다.<
그리고.>
연산자(데이터가 이동하는 위치를 가리킴)
stdout(/dev/dll로 변환)을 억제하고 싶다고 가정합니다.
psql db -f sql.sql > /dev/null
보시다시피 stdout이 기본값입니다. 작성할 스트림 번호를 사용하려면 스트림 번호가 사용되지 않았습니다.
psql db -f sql.sql 1> /dev/null
이제 stderror(스트림 번호 2)를 억제하려면 다음을 사용합니다.
psql db -f sql.sql 2> /dev/null
한 스트림을 다른 스트림으로 리디렉션할 수도 있습니다(예: stdout으로 stderror). 이는 모든 출력(정규 및 오류)을 어딘가에 저장하려는 경우에 유용합니다.
psql db -f sql.sql 2>&1 > log.txt
사이에 공백이 있을 수 없습니다.2>&1
마지막으로, 때로는 가장 흥미로운 것은 다음을 사용하여 모든 출력을 억제할 수 있다는 사실입니다.&>
할 는 '조용히' 할 입니다.
psql db -f sql.sql &> /dev/null
psql -U user -P pager=off -d database -c 'SQL';
psql db -f sql.sql > /dev/null
그것은 PAGER라고 합니다.
입력 ㅠㅠㅠ\pset pager 0
명령어로, 끄기
그리고나서
를 입력하십시오.\pset pager 1
다시 켜고 싶다면요.긴 출력에 사용되었습니다.
이 구문은 SSH 세션에서 작동했습니다.
psql db user --command "select * from table007" -A -P pager
언급URL : https://stackoverflow.com/questions/11180179/postgresql-disable-more-output
'programing' 카테고리의 다른 글
python에서 xlsxwriter를 사용하여 기존 XLSX 워크북의 셀에 데이터 쓰기/업데이트하는 방법 (0) | 2023.05.13 |
---|---|
Mongo의 컬렉션을 어떻게 설명해야 합니까? (0) | 2023.05.13 |
로컬 Git 저장소가 원래 복제된 URL을 확인하는 방법 (0) | 2023.05.13 |
요소를 배열의 시작 부분으로 푸시하는 가장 쉬운 방법은 무엇입니까? (0) | 2023.05.13 |
MongoError 수정 방법: 종료된 세션을 사용할 수 없습니다. (0) | 2023.05.13 |