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

22.3. 토토 파일 유지 관리

데이터베이스 서버의 토토 출력을 저장하는 것이 좋습니다 그냥 라우팅하는 대신 어딘가에/dev/null. 로그 출력은 다음과 같은 경우 매우 중요합니다. 문제를 진단할 때가 왔습니다. 그러나 로그 출력은 다음과 같은 경향이 있습니다. 방대해지면(특히 더 높은 디버그 수준에서) 무기한으로 저장하고 싶습니다. 당신은해야합니다"회전"토토 파일을 삭제하여 새 토토 파일이 합리적인 기간 후에 시작되고 오래된 것들은 제거되었습니다. 시간.

당신이 단순히 지시한다면stderr우체국장파일에 저장하면 토토 출력이 표시됩니다. 하지만 토토 파일을 자르는 유일한 방법은 중지했다가 다시 시작하는 것입니다.우체국장. 다음과 같은 경우에는 괜찮을 수 있습니다. 사용 중입니다포스트그레SQL에 개발 환경이지만 프로덕션 서버에서는 찾을 수 없습니다. 이 행동은 허용됩니다.

더 나은 접근 방식은 다음을 보내는 것입니다.우체국장stderr일부 유형의 토토 회전으로 출력 프토토램. 토토 회전 프토토램이 내장되어 있습니다. 구성 매개변수를 설정하여 사용redirect_stderrpostgresql.conf. 컨트롤 이 프로그램의 매개변수는 다음에 설명되어 있습니다.섹션 17.7.1.

또는 외부 토토 사용을 선호할 수도 있습니다. 순환 프토토램(이미 사용 중인 프토토램이 있는 경우) 다른 서버 소프트웨어. 예를 들어,rotatelogs도구가 포함됨아파치배포와 함께 사용할 수 있음PostgreSQL. 이렇게 하려면 그냥 파이프로우체국장'sstderr원하는 프로그램으로 출력합니다. 당신이 다음으로 서버를 시작하세요.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구성 파일 이 동작을 비활성화합니다.)

위에 설명된 모든 솔루션이 다음 사항을 처리한다는 점에 유의하세요. 구성 가능한 간격으로 새 로그 파일을 시작하지만 그렇지 않습니다. 오래되고 더 이상 흥미롭지 않은 로그 파일 삭제를 처리합니다. 당신은 것입니다 아마도 오래된 것을 주기적으로 삭제하기 위해 일괄 작업을 설정하고 싶을 것입니다. 로그 파일. 또 다른 가능성은 회전을 구성하는 것입니다. 오래된 로그 파일을 주기적으로 덮어쓰도록 프로그램하세요.