여기에 문제가 있습니다. 실행 한 .sql 스크립트의 모든 PostgreSQL 출력을 오류 및 쿼리 결과를 포함하여 파일에 기록하는 방법을 알아야합니다..sql 스크립트에 대한 PostgreSQL 쿼리/오류 로깅
나는 이미 \ o 및 \ o 개폐 태그로 스크립트를 둘러 쌌지 만 쿼리의 결과 만 기록하기 때문에 어떤 결과가 성공하지 못했는지 아무 것도 알려주지 않습니다. 그래서 같은 유닉스 도구를 사용하여 PostgreSQL을에 대한 호출의 결과를 파이프 시도했다 :
$~: psql < filename.sql | tee &> filename.log
을 ... 아니 성공. 이 경우 Filename.log는 완전히 비어있게됩니다.
나는 필자가 작성한 스크립트의 성공/실패에만 관심이 있고 이후의 참조를 위해이 기록을 유지하기 때문에 유니버설 로깅을 활성화하고 싶지 않습니다.
오라클에서는 SPOOL을 사용했으며, MySQL에서는 TEE를 사용했습니다. 이 두 가지 모두 내 필요에 맞게 잘 작동하지만 \ o에는이 기능이 없으며 하나의 파일에 로깅하고 어떤 파일로 인해 로그가 생성되었는지에 따라 로그가 분리되기 때문에 로깅을 활성화하지도 않습니다.
도움을 주시면 감사하겠습니다.
편집 : 내가 사용하고있는 버전은 9.1
편집이다 : 나는 데 문제가 -f 사용 .SQL 파일을 실행 <를 사용하는 것은 본질적으로 동일한 결과 저를 준다이다; 그것은 오류를 기록하지 않고 쿼리 결과 만 기록합니다. 필자는 stderr (사용되는 경우)를 사용하여 명령 줄뿐만 아니라 파일에 메시지를 출력하여 파일이 본질적으로 쿼리 결과 및 오류가있는 파일을 실행하는 명령 줄 결과와 똑같이 보일 수 있도록해야합니다. in.이 작업을 수행해야하는 이유는 .sql 파일 디버깅이 훨씬 쉬워지고 범용 오류 로깅을 피하면서 대상 지정 된 레코드를 유지할 수 있기 때문입니다.
감사! 이것은 정확히 내가 찾던 해답과 함께 갈 설명입니다. 다시 한 번 감사드립니다! –