데이터베이스 서버의 젠 토토 출력을 저장하는 것이 좋습니다. 어딘가에, 단지 라우팅하기보다는/dev/null. 젠 토토 출력은 매우 중요합니다 문제를 진단 할 시간이옵니다. 그러나 젠 토토 출력은 경향이 있습니다 방대한 (특히 더 높은 디버그 수준에서) 방대한 무기한 저장하고 싶습니다. 당신은 필요합니다"회전"새 젠 토토 파일이되도록 젠 토토 파일 합리적인 기간 이후에 시작되었고 오래된 것들이 제거되었습니다. 시간.
간단히 지시하는 경우StderrofPostgres파일로 젠 토토 출력이 있지만 유일한 방법은 젠 토토 파일은 서버를 중지하고 다시 시작하는 것입니다. 이것은 5 월입니다 사용중인 경우PostgreSQL개발 환경에서 이 동작이 허용되는 생산 서버는 거의 없습니다.
더 나은 접근 방식은 서버를 보내는 것입니다Stderr일부 유형의 젠 토토 회전으로 출력 프젠 토토램. 내장 젠 토토 회전 프젠 토토램이 있습니다. 구성 매개 변수를 설정하여 사용Redirect_stderrtotrueinpostgresql.conf. 제어 이 프젠 토토램의 매개 변수는에 설명되어 있습니다.섹션 17.7.1.
또는 외부 젠 토토를 사용하는 것이 좋습니다 이미 사용중인 회전 프젠 토토램이있는 경우 다른 서버 소프트웨어. 예를 들어,ROTATELOGS도구 포함아파치분포를 사용할 수 있습니다PostgreSQL. 이렇게하려면 그냥 서버의 파이프Stderr출력 원하는 프젠 토토램에. 로 서버를 시작하면PG_CTL,Stderr이미 리디렉션되었습니다stdout이므로 파이프 명령 만 있으면됩니다 예:
PG_CTL 시작 | rotateLogs/var/log/pgsql_log 86400
로그 출력 관리에 대한 또 다른 생산 등급 접근 방식은 다음과 같습니다 모든 것을로 보내십시오.Syslogand letSyslog파일 회전을 다루십시오. 이렇게하려면 구성 매개 변수를 설정log_destinationtoSyslog(젠 토토인Syslog만) inpostgresql.conf. 그런 다음를 보낼 수 있습니다.Sighup신호Syslog강제를 원할 때마다 데몬 새 젠 토토 파일 작성을 시작합니다. 젠 토토를 자동화하려는 경우 회전,Logrotate프젠 토토램 의 젠 토토 파일로 작동하도록 구성 할 수 있습니다.Syslog.
많은 시스템에서Syslog특히 신뢰할 수 없습니다 큰 젠 토토 메시지로; 단지 메시지를 잘라내거나 삭제할 수 있습니다 당신이 그들을 가장 필요로 할 때. 또한, onLinux, Syslog각 메시지가 디스크에 동기화됩니다. 성능 저하가 열악합니다. (A를 사용할 수 있습니다.-에서 파일 이름의 시작시Syslog구성 파일로 이 동작을 비활성화하십시오.)
위에서 설명한 모든 솔루션이 처리합니다. 구성 가능한 간격으로 새 로그 파일을 시작하지만 그렇지 않습니다. 구식이 아닌 interesting 로그 파일의 삭제를 처리합니다. 당신은 할 것입니다 주기적으로 오래된 삭제하기 위해 배치 작업을 설정하고 싶을 것입니다. 로그 파일. 또 다른 가능성은 회전을 구성하는 것입니다 이전 로그 파일이 주기적으로 쓰기되도록 프로그램.