데이터베이스 서버의 토토 핫 출력을 저장하는 것이 좋습니다. 어딘가에, 단지 라우팅하기보다는/dev/null. 토토 핫 출력은 매우 중요합니다 문제를 진단 할 시간이옵니다. 그러나 토토 핫 출력은 경향이 있습니다 방대한 (특히 더 높은 디버그 수준에서) 방대한 무기한 저장하고 싶습니다. 당신은 필요합니다"회전"새 토토 핫 파일이되도록 토토 핫 파일 합리적인 기간 이후에 시작되었고 오래된 것들이 제거되었습니다. 시간.
간단히 지시하는 경우StderrofPostgres파일로 토토 핫 출력이 있지만 유일한 방법은 토토 핫 파일은 서버를 중지하고 다시 시작하는 것입니다. 이것 사용중인 경우 괜찮을 수도 있습니다PostgreSQL개발 환경에서 이 동작이 허용되는 생산 서버는 거의 없습니다.
더 나은 접근 방식은 서버를 보내는 것입니다Stderr일부 유형의 토토 핫 회전으로 출력 프토토 핫램. 내장 토토 핫 회전 프토토 핫램이 있습니다. 구성 매개 변수를 설정하여 사용logging_collectortotrueinpostgresql.conf. 제어 이 프토토 핫램의 매개 변수는에 설명되어 있습니다.섹션 18.7.1. 이 접근법을 사용하여 토토 핫를 캡처 할 수도 있습니다. 기계 읽기 가능한 CSV 형식의 데이터.
또는 외부 토토 핫를 사용하는 것이 좋습니다 이미 사용중인 회전 프토토 핫램이있는 경우 다른 서버 소프트웨어. 예를 들어,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 로그 파일의 삭제를 처리합니다. 당신은 할 것입니다 주기적으로 오래된 삭제하기 위해 배치 작업을 설정하고 싶을 것입니다. 로그 파일. 또 다른 가능성은 회전을 구성하는 것입니다 이전 로그 파일이 주기적으로 쓰기되도록 프로그램.