이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 24.3. 토토 결과 파일 유지 관리버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

23.3. 토토 베이 파일 유지 관리

데이터베이스 서버의 토토 베이 출력을 그냥 폐기하는 것보다 어딘가에 저장하는 것이 좋습니다./dev/null. 토토 베이 출력은 문제를 진단할 때 매우 중요합니다. 그러나 토토 베이 출력은 방대해지는 경향이 있으므로(특히 더 높은 디버그 수준에서) 이를 무한정 저장하고 싶지는 않을 것입니다. 당신은해야합니다회전새 로그 파일이 시작되고 합리적인 시간이 지나면 이전 로그 파일이 제거되도록 로그 파일.

당신이 단순히 지시한다면stderr포스트그레스파일에 저장하면 로그 출력이 표시되지만 로그 파일을 자르는 유일한 방법은 서버를 중지하고 다시 시작하는 것입니다. 다음을 사용하는 경우 이는 허용될 수 있습니다.PostgreSQL개발 환경에서는 이 동작을 허용할 수 있는 프로덕션 서버가 거의 없습니다.

더 나은 접근 방식은 서버의 정보를 보내는 것입니다.stderr일종의 로그 순환 프로그램에 출력됩니다. 구성 매개변수를 설정하여 사용할 수 있는 로그 회전 기능이 내장되어 있습니다.logging_collector사실postgresql.conf. 이 프로그램의 제어 매개변수는 다음에 설명되어 있습니다.섹션 18.8.1. 이 접근 방식을 사용하여 기계가 읽을 수 있는 토토 베이 데이터를 캡처할 수도 있습니다.CSV(쉼표로 구분된 값) 형식.

또는 이미 다른 서버 소프트웨어와 함께 사용하고 있는 경우 외부 토토 베이 순환 프토토 베이램을 사용하는 것이 좋습니다. 예를 들어,rotatelogs도구가 포함됨아파치배포와 함께 사용할 수 있음PostgreSQL. 이렇게 하려면 서버의stderr원하는 프로그램으로 출력합니다. 다음으로 서버를 시작하면pg_ctl그러면stderr이미 다음으로 리디렉션되었습니다.stdout, 따라서 파이프 명령만 있으면 됩니다. 예를 들면 다음과 같습니다.

pg_ctl 시작 | Rotatelogs /var/log/pgsql_log 86400

로그 출력을 관리하는 또 다른 프로덕션 등급 접근 방식은 로그 출력을 다음으로 보내는 것입니다.syslog그리고 하자syslog파일 회전을 처리합니다. 이렇게 하려면 구성 매개변수를 설정하세요.log_destinationsyslog(토토 베이인하려면syslog만)postgresql.conf. 그러면 다음을 보낼 수 있습니다.SIGHUP에 대한 신호syslog데몬이 새 로그 파일 쓰기를 시작하도록 강제할 때마다. 로그 회전을 자동화하려면,로그회전다음의 로그 파일과 작동하도록 프로그램을 구성할 수 있습니다.syslog.

그러나 많은 시스템에서는syslog특히 대용량 토토 베이 메시지의 경우 신뢰성이 매우 낮습니다. 가장 필요할 때 메시지를 자르거나 삭제할 수 있습니다. 또한, 에리눅스, syslog각 메시지를 디스크로 플러시하여 성능이 저하됩니다. (당신은 사용할 수 있습니다"-"파일 이름 시작 부분에syslog동기화를 비활성화하는 구성 파일입니다.)

위에 설명된 모든 솔루션은 구성 가능한 간격으로 새 토토 베이 파일 시작을 처리하지만 오래되고 더 이상 유용하지 않은 토토 베이 파일의 삭제는 처리하지 않습니다. 오래된 토토 베이 파일을 주기적으로 삭제하도록 일괄 작업을 설정하고 싶을 수도 있습니다. 또 다른 가능성은 오래된 토토 베이 파일을 주기적으로 덮어쓰도록 순환 프토토 베이램을 구성하는 것입니다.

pgBadger정교한 토토 베이 파일 분석을 수행하는 외부 프로젝트입니다.check_postgres중요한 메시지가 토토 베이 파일에 나타날 때 Nagios 경고를 제공할 뿐만 아니라 기타 여러 가지 특별한 상황이 감지될 때 알림을 제공합니다.