이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.윈 토토 PostgreSQL : 문서 : 17 : 19.8. 오류보고 및 로깅버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

18.8. 오류 보고 및 로깅

18.8.1. 기록할 위치

log_destination (문자열)

포스트그레SQL지원 다음을 포함하여 서버 메시지를 기록하는 여러 가지 방법stderr, csvlog그리고syslog. 윈도우에서는,이벤트배트맨 토토또한 지원됩니다. 이것을 설정하세요 매개변수를 원하는 배트맨 토토 대상 목록으로 구분하여 지정 쉼표로. 기본값은 다음에 배트맨 토토인하는 것입니다.stderr전용. 이 매개변수는 에서 설정하세요.postgresql.conf파일 또는 서버 명령줄에서.

만약csvlog포함됨 에서log_destination, 배트맨 토토 항목 다음으로 출력됩니다."쉼표로 구분됨 값" (CSV) 배트맨 토토를 로드하는 데 편리한 형식입니다. 프배트맨 토토램. 참조섹션 18.8.4자세한 내용은.logging_collectorCSV 형식 배트맨 토토 출력을 생성하려면 활성화되어야 합니다.

참고:대부분의 Unix 시스템에서는 다음이 필요합니다. 시스템 구성을 변경하려면syslog데몬 있음 를 활용하기 위해syslog옵션log_destination. PostgreSQL배트맨 토토인할 수 있음syslog시설LOCAL0통해LOCAL7(참조syslog_facility), 하지만 기본값syslog대부분의 구성 플랫폼은 그러한 메시지를 모두 삭제합니다. 당신은 것입니다 다음과 같은 것을 추가해야 합니다:

local0.* /var/log/postgresql

syslog데몬의 구성 파일이 작동하도록 합니다.

logging_collector (부울)

이 매개변수는 다음을 활성화합니다.로깅 수집기13496_13575stderr그리고 이를 배트맨 토토로 리디렉션합니다 파일. 이 접근 방식은 배트맨 토토인하는 것보다 더 유용한 경우가 많습니다.syslog, 일부 유형 이후 의 메시지가 다음에 표시되지 않을 수 있습니다.syslog출력. (일반적인 예 중 하나 동적 링커 실패 메시지입니다. 다른 하나는 오류 다음과 같은 스크립트에 의해 생성된 메시지archive_command.) 이 매개변수는 서버 시작 시 설정됩니다.

참고:배트맨 토토인이 가능합니다.stderr로깅을 사용하지 않고 수집가; 배트맨 토토 메시지는 어디로든 이동합니다. 서버의stderr지시됩니다. 그러나 그 방법은 오직 낮은 배트맨 토토 볼륨의 경우 편리함을 제공하지 않기 때문입니다. 배트맨 토토 파일을 회전하는 방법. 또한 일부 플랫폼에서는 로깅 수집기를 사용하면 손실되거나 여러 프로세스로 인해 잘못된 배트맨 토토 출력 동일한 배트맨 토토 파일에 동시에 쓰는 것은 서로의 출력을 덮어씁니다.

참고:로깅 수집기는 다음과 같이 설계되었습니다. 메시지를 잃지 마십시오. 이는 다음의 경우를 의미합니다. 로드가 매우 높으면 서버 프로세스가 추가 배트맨 토토 메시지를 보내는 동안 차단되었습니다. 수집가가 뒤처졌을 때. 대조적으로,syslog좋아요 메시지를 쓸 수 없으면 삭제합니다. 즉, 메시지를 삭제합니다. 그러한 경우 일부 메시지를 기록하지 못할 수도 있지만 나머지 시스템은 차단하지 않습니다.

log_directory (문자열)

언제logging_collector이다 활성화된 경우 이 매개변수는 배트맨 토토 파일이 생성됩니다. 다음과 같이 지정할 수 있습니다. 절대 경로 또는 클러스터 데이터 디렉터리에 대한 상대 경로입니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버에 명령줄. 기본값은pg_log.

log_filename (문자열)

언제logging_collector이다 활성화된 경우 이 매개변수는 배트맨 토토 파일을 생성했습니다. 값은 다음과 같이 처리됩니다.strftime패턴, 그래서%-이스케이프를 사용하여 지정할 수 있습니다. 시간에 따라 변하는 파일 이름. (혹시나 있다면 참고하세요 시간대에 따라 다름%-탈출, 계산은 다음으로 지정된 영역에서 수행됩니다.log_timezone.) 지원되는%-이스케이프는 다음과 같습니다. Open Group의 목록에 나열된 것과 유사함strftime사양. 참고 시스템의strftime아님 직접 사용되므로 플랫폼별(비표준) 확장 프배트맨 토토램이 작동하지 않습니다. 기본값은postgresql-%Y-%m-%d_%H%M%S.log.

이스케이프 없이 파일 이름을 지정하는 경우 다음을 수행해야 합니다. 결국에는 방지하기 위해 배트맨 토토 회전 유틸리티를 사용할 계획입니다. 전체 디스크를 채웁니다. 8.4 이전 릴리스에서 그렇지 않은 경우%탈출이 존재했습니다.PostgreSQL추가하겠습니다 새 배트맨 토토 파일이 생성된 시점이지만 이 시점은 더 이상 그렇지 않습니다.

CSV 형식 출력이 활성화된 경우log_destination, .csv타임스탬프에 추가됩니다. CSV 형식의 파일 이름을 생성하기 위한 배트맨 토토 파일 이름 출력. (만약log_filename다음으로 끝남.log, 접미사가 대체됩니다. 대신.)

이 매개변수는 다음에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버에 명령줄.

log_file_mode (정수)

Unix 시스템에서 이 매개변수는 권한을 설정합니다 배트맨 토토 파일의 경우logging_collector활성화되었습니다. (켜짐 Microsoft Windows에서는 이 매개변수가 무시됩니다.) 매개변수 값은 숫자 모드일 것으로 예상됩니다. 에서 허용하는 형식으로 지정됩니다.chmod그리고마스크시스템 호출. (사용하려면 관례적인 8진수 형식 숫자는 a로 시작해야 합니다.0(제로).)

기본 권한은0600, 즉 서버 소유자만 할 수 있음을 의미합니다. 배트맨 토토 파일을 읽거나 씁니다. 그 외 일반적으로 유용한 설정은0640, 허용 소유자 그룹의 구성원이 파일을 읽을 수 있습니다. 참고 그러나 이러한 설정을 사용하려면 다음이 필요합니다. 변경하다log_directory클러스터 데이터 외부 어딘가에 파일을 저장하기 위해 디렉토리. 어쨌든 배트맨 토토 파일을 만드는 것은 현명하지 않습니다. 민감한 내용이 포함될 수 있으므로 누구나 읽을 수 있습니다. 데이터.

이 매개변수는 다음에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버에 명령줄.

log_rotation_age (정수)

언제logging_collector입니다 활성화하면 이 매개변수가 최대 수명을 결정합니다. 개별 배트맨 토토 파일의 이 시간이 지나면 시간이 지나면 새 배트맨 토토 파일이 생성됩니다. 0으로 설정 새 배트맨 토토 파일의 시간 기반 생성을 비활성화합니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버에 명령줄.

log_rotation_size (정수)

언제logging_collector이다 활성화된 경우 이 매개변수는 개별 배트맨 토토 파일. 이 수 킬로바이트가 지난 후 배트맨 토토 파일로 내보내지면 새 배트맨 토토 파일이 생성됩니다. 새 배트맨 토토의 크기 기반 생성을 비활성화하려면 0으로 설정하십시오. 파일. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버에 명령줄.

log_truncate_on_rotation (부울)

언제logging_collector이다 활성화하면 이 매개변수로 인해포스트그레SQL잘라내기(덮어쓰기), 추가하는 대신 동일한 기존 배트맨 토토 파일에 이름. 그러나 잘림은 새 파일이 있는 경우에만 발생합니다. 동안이 아닌 시간 기반 순환으로 인해 열리는 중입니다. 서버 시작 또는 크기 기반 회전. 꺼져 있을 때, 모든 경우에 기존 파일이 추가됩니다. 에 대한 예를 들어 이 설정을 a와 함께 사용하면log_filename좋아요postgresql-%H.log다음과 같은 결과가 나올 것입니다 24시간 단위 배트맨 토토 파일을 생성한 다음 주기적으로 덮어씁니다. 이 매개변수는 에 설정postgresql.conf파일 또는 서버 명령줄에서.

예: 7일의 배트맨 토토를 보관하려면 하루에 하나의 배트맨 토토 파일 명명된server_log.Mon, server_log.Tue등 자동으로 지난주 배트맨 토토를 이번주 배트맨 토토로 덮어쓰기, setlog_filename서버_배트맨 토토.%a, log_truncate_on_rotation켜짐log_rotation_age1440.

예: 24시간 동안 배트맨 토토를 보관하려면 각 배트맨 토토 파일 하나 시간이지만 배트맨 토토 파일 크기가 초과되면 더 빨리 회전됩니다. 1GB, 세트log_filename서버_배트맨 토토.%H%M, log_truncate_on_rotation켜짐, log_rotation_age60그리고log_rotation_size1000000. 포함%Mlog_filename모든 크기 기반 허용 파일 이름을 선택하기 위해 발생할 수 있는 회전 해당 시간의 초기 파일 이름과 다릅니다.

syslog_facility (열거형)

배트맨 토토인할 때syslog이 활성화되어 있으며 이 매개변수는 를 결정합니다syslog "시설"사용됩니다. 당신은 할 수 있습니다 중에서 선택하세요LOCAL0, 로컬1, 로컬2, LOCAL3, 로컬4, LOCAL5, LOCAL6, LOCAL7; 기본값은LOCAL0. 또한 귀하의 문서를 참조하십시오 시스템의syslog데몬. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버에 명령줄.

syslog_ident (문자열)

배트맨 토토인할 때syslog활성화되어 있으며 이 매개변수는 식별하는 데 사용되는 프배트맨 토토램 이름을 결정합니다.PostgreSQL메시지syslog배트맨 토토. 기본값은포스트그레스. 이 매개변수는 에만 설정되어야 합니다.postgresql.conf파일 또는 서버에 명령줄.

silent_mode (부울)

서버를 자동으로 실행합니다. 이 매개변수가 설정된 경우, 서버는 자동으로 백그라운드에서 실행되며 제어 터미널에서 연결을 해제합니다. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.

주의

이 매개변수가 설정되면 서버의 표준 출력 및 표준 오류가 리디렉션됩니다. 파일에postmaster.log데이터 내에서 디렉토리. 회전에 대한 규정은 없습니다. 이 파일은 다음과 같은 경우가 아니면 무한정 커집니다. 서버 배트맨 토토 출력은 다음에 의해 다른 곳으로 리디렉션됩니다. 다른 설정. 다음을 권장합니다.log_destination다음으로 설정됨syslog또는 그logging_collector수 이 옵션을 사용할 때 활성화됩니다. 그 사람들과도 조치, 시작 중 초기에 보고된 오류 다음에 나타날 수 있습니다.postmaster.log대신 일반 배트맨 토토 대상입니다.

18.8.2. 기록할 시기

client_min_messages (열거형)

클라이언트에 전송되는 메시지 수준을 제어합니다. 유효한 값은 다음과 같습니다.디버그5, 디버그4, 디버그3, 디버그2, 디버그1, 배트맨 토토, 공지, 경고, 오류, 치명적패닉. 각 레벨에는 모든 것이 포함됩니다. 그것을 따르는 수준. 레벨이 높아질수록 적어집니다 메시지가 전송됩니다. 기본값은공지. 참고하세요배트맨 토토여기와 순위가 다릅니다log_min_messages.

log_min_messages (열거형)

어떤 메시지 수준이 기록되는지 제어합니다. 서버 배트맨 토토. 유효한 값은 다음과 같습니다.디버그5, 디버그4, 디버그3, 디버그2, 디버그1, 정보, 공지, 경고, 오류, 배트맨 토토, 치명적그리고패닉. 각 레벨에는 모든 것이 포함됩니다. 그것을 따르는 수준. 레벨이 높아질수록 적어집니다 메시지가 배트맨 토토로 전송됩니다. 기본값은경고. 참고하세요배트맨 토토여기와 순위가 다릅니다client_min_messages. 만 슈퍼유저는 이 설정을 변경할 수 있습니다.

log_min_error_statement (열거형)

오류를 일으키는 SQL 문을 제어합니다. 상태는 서버 배트맨 토토에 기록됩니다. 현재 SQL 명령문은 모든 메시지에 대한 배트맨 토토 항목에 포함됩니다. 지정된 심각도 이상. 유효한 값은 다음과 같습니다.디버그5, 디버그4, 디버그3, 디버그2, 디버그1, 정보, 공지, 경고, 오류, 배트맨 토토, 치명적패닉. 기본값은오류, 오류, 배트맨 토토 메시지, 치명적인 결과를 초래하는 명령문을 의미합니다. 오류 또는 패닉이 기록됩니다. 효과적으로 끄려면 실패한 문을 기록하려면 이 매개변수를 다음으로 설정하세요.패닉. 슈퍼유저만 가능 이 설정을 변경하세요.

log_min_duration_statement (정수)

각 완성된 문장의 지속 시간은 다음과 같습니다. 명령문이 최소한 지정된 기간 동안 실행된 경우 기록됩니다. 밀리초 수입니다. 이것을 0으로 설정하면 모두 인쇄됩니다. 진술 기간. 마이너스 1(기본값) 비활성화 로깅 문 기간. 예를 들어 이렇게 설정하면 에250ms그런 다음 모든 SQL 문 250ms 이상 실행되는 경우 기록됩니다. 이것을 활성화하면 매개변수는 최적화되지 않은 항목을 추적하는 데 도움이 될 수 있습니다. 귀하의 응용 프배트맨 토토램에서 쿼리합니다. 슈퍼유저만 변경할 수 있습니다. 이 설정입니다.

확장 쿼리 프로토콜을 사용하는 클라이언트의 경우 기간 구문 분석, 바인딩 및 실행 단계가 기록됩니다. 독립적으로.

참고:이 옵션을 다음과 함께 사용할 때log_statement, 다음으로 인해 기록된 문의 텍스트입니다.log_statement그렇지 않을 것입니다 기간 배트맨 토토 메시지에서 반복됩니다. 당신이 그렇지 않다면 사용 중syslog그렇습니다 다음을 사용하여 PID 또는 세션 ID를 기록하는 것이 좋습니다.log_line_prefix그래서 당신은 명령문 메시지를 프로세스 ID를 사용하는 이후 기간 메시지 또는 세션 ID.

테이블 18-1다음에서 사용하는 메시지 심각도 수준을 설명합니다.포스트그레SQL. 출력을 로깅하는 경우 으로 전송됩니다.syslog또는 Windows'이벤트배트맨 토토, 심각도 수준 표에 표시된 대로 번역됩니다.

표 18-1. 메시지 심각도 수준

심각도 사용법 syslog 이벤트배트맨 토토
DEBUG1..DEBUG5 다음에 대해 연속적으로 더 자세한 정보를 제공합니다. 개발자가 사용합니다. 디버그 정보
정보 암시적으로 요청한 정보를 제공합니다. 사용자(예: 출력)진공 장황한. 정보 정보
공지 다음에 도움이 될 수 있는 정보를 제공합니다. 사용자(예: 긴 문자 잘림 알림) 식별자. 공지 정보
경고 발생할 수 있는 문제에 대한 경고를 제공합니다. 예:커밋트랜잭션 외부 차단합니다. 공지 경고
오류 현재 명령을 발생시킨 오류를 보고합니다. 중단합니다. 경고 오류
배트맨 토토 관리자에게 관심 있는 정보를 보고합니다. 예: 체크포인트 활동. 정보 정보
치명적 현재 세션을 발생시킨 오류를 보고합니다. 중단합니다. ERR 오류
패닉 모든 데이터베이스 세션을 발생시킨 오류를 보고합니다. 중단합니다. 크리티컬 오류

18.8.3. 기록할 내용

응용프배트맨 토토램_이름 (문자열)

응용프배트맨 토토램_이름될 수 있습니다 미만의 문자열NAMEDATALEN문자( 표준 빌드). 일반적으로 응용 프배트맨 토토램에 의해 설정됩니다. 서버에 접속 시. 이름이 표시됩니다 에서pg_stat_activity보기 CSV 배트맨 토토 항목에 포함됩니다. 그것은 또한 포함될 수 있습니다 일반 배트맨 토토 항목에서log_line_prefix매개변수. 인쇄 가능한 ASCII 문자만 사용할 수 있습니다.응용프배트맨 토토램_이름값. 다른 문자는 물음표로 대체됩니다. (?).

debug_print_parse (부울)
debug_print_rewrite (부울)
debug_print_plan (부울)

이 매개변수는 다양한 디버깅 출력을 가능하게 합니다. 방출됩니다. 설정되면 결과 구문 분석 트리를 인쇄합니다. 쿼리 재작성기 출력 또는 각 실행 계획 실행된 쿼리입니다. 이 메시지는에서 방출됩니다.배트맨 토토메시지 수준이므로 기본적으로 서버 배트맨 토토에 나타나지만 서버로 전송되지는 않습니다. 클라이언트. 조정하여 변경할 수 있습니다.client_min_messages및/또는log_min_messages. 이러한 매개변수는 기본적으로 꺼져 있습니다.

debug_pretty_print (부울)

설정되면,debug_pretty_print다음에 의해 생성된 메시지를 들여쓰기합니다.debug_print_parse, debug_print_rewrite, 또는debug_print_plan. 이로 인해 더 많은 결과가 발생합니다. 읽을 수 있지만 출력보다 훨씬 깁니다."컴팩트"꺼졌을 때 사용되는 형식입니다. 그것 기본적으로 켜져 있습니다.

log_checkpoints (부울)

체크포인트와 재시작포인트가 배트맨 토토인되도록 합니다 서버 배트맨 토토. 일부 통계가 배트맨 토토에 포함됩니다. 작성된 버퍼 수와 그것들을 쓰는 데 시간을 보냈습니다. 이 매개변수는 다음과 같이 설정할 수 있습니다. 에서postgresql.conf파일 또는 서버 명령줄에서. 기본값은 꺼져 있습니다.

log_connections (부울)

서버에 연결을 시도할 때마다 기록되었으며 클라이언트가 성공적으로 완료되었습니다. 인증. 이 매개변수는 다음 이후에는 변경할 수 없습니다. 세션 시작. 기본값은 꺼져 있습니다.

참고:일부 클라이언트 프배트맨 토토램, 다음과 같은psql, 시도 비밀번호가 맞는지 확인하는 동안 두 번 연결하세요. 필수이므로 중복됩니다."연결 수신됨"메시지는 그렇지 않습니다 반드시 문제가 있음을 나타냅니다.

log_disconnections (부울)

이것은 서버 배트맨 토토에 다음과 유사한 줄을 출력합니다.log_connections하지만 세션 중 종료 및 세션 기간을 포함합니다. 이는 기본적으로 꺼져 있습니다. 이 매개변수는 변경할 수 없습니다. 세션 시작 후.

log_duration (부울)

완성된 모든 문장의 지속 시간을 기록되었습니다. 기본값은꺼짐. 만 슈퍼유저는 이 설정을 변경할 수 있습니다.

확장 쿼리 프로토콜을 사용하는 클라이언트의 경우 기간 구문 분석, 바인딩 및 실행 단계가 기록됩니다. 독립적으로.

참고:이 설정의 차이점은 옵션 및 설정log_min_duration_statement0으로 하는 것은 초과log_min_duration_statement강제 기록할 쿼리의 텍스트이지만 이 옵션은 그렇지 않습니다. 따라서 만일log_durationis켜짐그리고log_min_duration_statement이 있습니다 양수 값이면 모든 기간이 기록되지만 쿼리 텍스트는 다음을 초과하는 명령문에만 포함됩니다. 문턱. 이 동작은 다음에 유용할 수 있습니다. 고부하 설치에 대한 통계 수집.

log_error_verbosity (열거형)

서버에 기록된 세부사항의 양을 제어합니다 기록된 각 메시지를 기록합니다. 유효한 값은 다음과 같습니다.TERSE, 기본값상세, 각각 더 많은 필드를 추가합니다. 메시지가 표시됩니다.TERSE다음의 로깅을 제외합니다세부정보, 힌트, 질문컨텍스트오류 정보.상세출력에는 다음이 포함됩니다.SQLSTATE오류 코드(참조부록 A) 및 소스 코드 파일 이름, 함수 이름, 줄 번호 오류가 발생했습니다. 슈퍼유저만 이를 변경할 수 있습니다. 설정.

배트맨 토토_호스트 이름 (부울)

기본적으로 연결 배트맨 토토 메시지에는 IP만 표시됩니다. 연결 호스트의 주소. 이 매개변수를 켜는 중 호스트 이름도 기록됩니다. 참고하세요 호스트 이름 확인 설정에 따라 이는 무시할 수 없는 성능 저하를 부과합니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버에 명령줄.

log_line_prefix (문자열)

이것은printf-스타일 각 배트맨 토토 줄의 시작 부분에 출력되는 문자열입니다.%문자 시작"이스케이프 시퀀스"다음으로 대체됨 상태 정보는 아래에 설명되어 있습니다. 인식할 수 없음 이스케이프는 무시됩니다. 다른 문자는 바로 복사됩니다. 배트맨 토토 라인에. 일부 탈출은 다음에서만 인식됩니다. 세션 프로세스는 백그라운드에서 무시됩니다. 메인 서버 프로세스와 같은 프로세스. 이 매개변수 에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버에 명령줄. 기본값은 빈 문자열입니다.

탈출 효과 세션 전용
%a 애플리케이션 이름
%u 사용자 이름
%d 데이터베이스 이름
%r 원격 호스트 이름 또는 IP 주소 및 원격 항구
%h 원격 호스트 이름 또는 IP 주소
%p 프로세스 ID 아니요
%t 밀리초가 없는 타임스탬프 아니요
%m 밀리초 단위의 타임스탬프 아니요
%i 명령 태그: 현재 세션 유형 명령
%e SQLSTATE 오류 코드 아니요
%c 세션 ID: 아래 참조 아니요
%l 각 세션에 대한 배트맨 토토 줄 수 또는 프로세스, 1부터 시작 아니요
%s 프로세스 시작 타임스탬프 아니요
%v 가상 거래 ID (백엔드ID/localXID) 아니요
%x 거래 ID(할당되지 않은 경우 0) 아니요
%q 출력을 생성하지 않지만 세션이 아님을 알립니다. 문자열의 이 지점에서 프로세스를 중지합니다. 세션 프로세스에서 무시됨 아니요
%% 리터럴% 아니요
%cescape는 다음을 인쇄합니다. 두 개의 4바이트로 구성된 준고유 세션 식별자 16진수(앞에 0이 없음)로 구분됨 점. 숫자는 프로세스 시작 시간과 프로세스 ID이므로%c또한 가능합니다 해당 항목을 인쇄하는 공간 절약 방법으로 사용됩니다. 에 대한 예를 들어 세션 식별자를 생성하려면pg_stat_activity, 이것을 사용하세요 쿼리:
SELECT to_hex(EXTRACT(EPOCH FROM backend_start)::integer) || '.' ||
       to_hex(procpid)
pg_stat_activity에서;

팁:다음에 대해 비어 있지 않은 값을 설정한 경우log_line_prefix해야 합니다. 일반적으로 마지막 문자를 공백으로 만듭니다. 배트맨 토토의 나머지 부분과 시각적으로 분리 라인. 구두점 문자도 사용할 수 있습니다.

팁: 시스템배트맨 토토스스로 시간을 생산합니다 스탬프 및 프로세스 ID 정보를 제공하므로 아마도 그럴 것입니다. 로깅하는 경우 이러한 이스케이프를 포함하고 싶지 않습니다. 에syslog.

log_lock_waits (부울)

배트맨 토토 메시지 생성 여부를 제어합니다. 세션이 다음보다 오래 대기함deadlock_timeout잠금을 획득합니다. 이는 잠금 여부를 결정하는 데 유용합니다. 대기로 인해 성능이 저하됩니다. 기본값은꺼짐.

log_statement (열거형)

어떤 SQL 문이 기록되는지 제어합니다. 유효한 값 이다없음(꺼짐),ddl, 모드모두(모든 문).ddl모든 데이터 정의 문을 기록합니다. 같은만들기, 변경드롭문장.모드모두 기록ddl문장, 플러스 다음과 같은 데이터 수정 문삽입, 업데이트, 삭제, 잘라내기복사 보낸사람. 준비, 실행설명하세요 분석문은 다음과 같은 경우에도 기록됩니다. 포함된 명령은 적절한 유형입니다. 고객을 위한 확장 쿼리 프로토콜을 사용하면 다음과 같은 경우 로깅이 발생합니다. Execute 메시지가 수신되고 Bind 값이 매개변수가 포함됩니다(임베디드 작은따옴표 포함). 점수가 두 배가 됨).

기본값은없음. 만 슈퍼유저는 이 설정을 변경할 수 있습니다.

참고:간단한 구문을 포함하는 명령문 오류는에 의해서도 기록되지 않습니다.log_statement = 전체설정, 배트맨 토토 메시지 때문에 기본 구문 분석이 완료된 후에만 방출됩니다. 명령문 유형을 결정하십시오. 연장의 경우 쿼리 프로토콜, 이 설정도 마찬가지로 기록되지 않습니다. 실행 단계 이전에 실패한 명령문(예: 구문 분석 또는 계획 중). 설정log_min_error_statement오류(또는 그 이하) 진술.

log_temp_files (정수)

임시 파일 이름과 크기의 로깅을 제어합니다. 정렬, 해시 및 작업을 위해 임시 파일을 생성할 수 있습니다. 임시 쿼리 결과. 각각에 대해 배트맨 토토 항목이 작성됩니다. 삭제시 임시파일입니다. 0 배트맨 토토 값 모든 임시 파일 정보, 양수 값 배트맨 토토 크기가 다음보다 크거나 같은 파일만 지정된 킬로바이트 수. 기본 설정은 -1입니다. 이러한 로깅을 비활성화합니다. 슈퍼유저만 변경할 수 있습니다. 이 설정입니다.

log_timezone (문자열)

다음에 기록된 타임스탬프에 사용되는 시간대를 설정합니다. 서버 배트맨 토토. 달리시간대, 이 값은 클러스터 전체에 적용되므로 모든 세션이 타임스탬프를 일관되게 보고합니다. 명시적으로 설정하지 않은 경우 서버는 이 변수를 시간대로 초기화합니다. 시스템 환경에 따라 지정됩니다. 참조섹션 8.5.3더 많은 정보를 원하시면. 이 매개변수는 에서 설정하세요.postgresql.conf파일 또는 서버 명령줄에서.

18.8.4. CSV 형식 배트맨 토토 사용 출력

포함csvlog에서log_destination목록은 편리한 방법을 제공합니다 배트맨 토토 파일을 데이터베이스 테이블로 가져옵니다. 이 옵션은 쉼표로 구분된 값()으로 된 배트맨 토토 라인CSV) 형식, 다음 열 포함: 타임스탬프 밀리초, 사용자 이름, 데이터베이스 이름, 프로세스 ID, 클라이언트 호스트:포트 번호, 세션 ID, 세션별 줄 번호, 명령 태그, 세션 시작 시간, 가상 거래 ID, 일반 트랜잭션 ID, 오류 심각도, SQLSTATE 코드, 오류 메시지, 오류 메시지 세부 정보, 힌트, 오류를 발생시킨 내부 쿼리 오류(있는 경우), 오류 위치의 문자 수, 오류 컨텍스트, 오류를 발생시킨 사용자 쿼리(있는 경우 및 에 의해 활성화됨log_min_error_statement), 오류 위치의 문자 수, 위치 PostgreSQL 소스 코드에 오류가 있습니다(iflog_error_verbosity다음으로 설정됨상세) 및 애플리케이션 이름. 여기 샘플이 있습니다 CSV 형식 배트맨 토토 출력을 저장하기 위한 테이블 정의:

테이블 생성 postgres_log
(
  시간대가 있는 log_time 타임스탬프(3),
  user_name 텍스트,
  데이터베이스_이름 텍스트,
  process_id 정수,
  연결_텍스트에서,
  session_id 텍스트,
  session_line_num bigint,
  command_tag 텍스트,
  session_start_time 시간대가 포함된 타임스탬프,
  virtual_transaction_id 텍스트,
  transaction_id bigint,
  오류_심각도 텍스트,
  sql_state_code 텍스트,
  메시지 텍스트,
  세부 텍스트,
  힌트 텍스트,
  내부 쿼리 텍스트,
  Internal_query_pos 정수,
  컨텍스트 텍스트,
  쿼리 텍스트,
  query_pos 정수,
  위치 텍스트,
  application_name 텍스트,
  기본 키(session_id, session_line_num)
);

배트맨 토토 파일을 이 테이블로 가져오려면 다음을 사용하십시오.다음에서 복사명령:

csv를 사용하여 '/full/path/to/logfile.csv'에서 postgres_log를 복사하세요.

가져오기를 단순화하기 위해 수행해야 할 몇 가지 작업이 있습니다. CSV 배트맨 토토 파일:

  1. 설정배트맨 토토_파일이름그리고log_rotation_age일관적인 제공을 위해, 배트맨 토토 파일에 대한 예측 가능한 명명 체계. 이를 통해 파일 이름이 무엇인지 예측하고 언제 파일이 개별 배트맨 토토 파일이 완료되었으므로 사용할 준비가 되었습니다. 가져왔습니다.

  2. 설정log_rotation_size0으로 배트맨 토토 파일을 생성하므로 크기 기반 배트맨 토토 회전을 비활성화합니다. 이름을 예측하기 어렵습니다.

  3. 설정log_truncate_on_rotation켜짐그래서 이전 배트맨 토토 데이터는 동일한 파일의 새 파일과 혼합됩니다.

  4. 위 테이블 정의에는 기본 키가 포함되어 있습니다 사양. 이는 다음으로부터 보호하는 데 유용합니다. 실수로 동일한 정보를 두 번 가져왔습니다. 그만큼복사명령은 다음을 모두 커밋합니다. 데이터를 한 번에 가져오므로 오류가 발생하면 전체 가져오기가 실패합니다. 부분 배트맨 토토 파일을 가져오고 나중에 파일이 완료되면 다시 가져오세요. 기본 키 위반으로 인해 가져오기가 실패합니다. 잠깐 가져오기 전에 배트맨 토토가 완료되고 닫힐 때까지. 이 절차를 통해 실수로 가져오는 일도 방지할 수 있습니다. 완전히 작성되지 않은 부분 행 또한 원인이 될 것입니다복사실패합니다.