이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

19.8. 오류보고 및 로깅

19.8.1. 로그 할 곳

log_destination(String)

postgresql을 포함하여 서버 메시지 로깅을위한 몇 가지 방법을 지원합니다Stderr, 122PostgreSQL : 문서 : 12 : 19.8. 오류보고 및 로깅51andSyslog. Windows에서EventLog도 지원됩니다. 이 매개 변수를 쉼표로 분리 한 원하는 로그 대상 목록으로 설정하십시오. 기본값은에 로그인하는 것입니다.Stderr만. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

ifCSVLOGlog_destination, 무지개 토토 항목이 출력됩니다쉼표 분리 값(CSV) 형식, 무지개 토토를 프무지개 토토램에로드하는 데 편리합니다. 보다섹션 19.8.4자세한 내용.logging_collectorCSV 형식 로그 출력을 생성하려면 활성화해야합니다.

언제든지Stderr또는CSVLOG포함되어 있습니다. 파일current_logfiles는 현재 로깅 콜렉터 및 관련 로깅 대상이 현재 사용중인 로그 파일의 위치를 ​​기록하도록 만들어졌습니다. 이는 인스턴스에서 현재 사용중인 로그를 찾는 편리한 방법을 제공합니다. 이 파일의 내용의 예는 다음과 같습니다.

stderr log/postgresql.log
csvlog log/postgresql.csv

current_logfiles새 무지개 토토 파일이 회전의 효과로 생성 될 때 그리고 언제log_destination다시로드됩니다. 둘 다 없을 때 제거됩니다StderrNORCSVLOGlog_destination, 그리고 로깅 수집기가 비활성화 된 시점.

note

대부분의 UNIX 시스템에서는 시스템 구성을 변경해야합니다Syslog데몬을 사용하기위한 데몬Syslog옵션log_destination. PostgreSQL무지개 토토인 할 수 있습니다Syslog시설local0throughLocal7(참조syslog_facility) 그러나 기본값Syslog대부분의 플랫폼에서의 구성은 그러한 모든 메시지를 폐기합니다. 다음과 같은 것을 추가해야합니다.

local0.*/var/log/postgresql

to theSyslog작동하도록 데몬의 구성 파일.

Windows에서EventLog옵션log_destination, Windows 이벤트 뷰어가 이벤트 무지개 토토 메시지를 깨끗하게 표시 할 수 있도록 이벤트 소스 및 라이브러리를 운영 체제에 등록해야합니다. 보다PostgreSQL : 문서 : 12 : 18.12. 스포츠 토토 베트맨 로그 등록 Windows자세한 내용.

logging_collector(부울)

이 매개 변수는를 가능하게합니다.로깅 수집가, 이것은 무지개 토토 메시지를 캡처하는 배경 프로세스입니다.Stderr무지개 토토 파일로 리디렉션합니다. 이 접근법은 종종 무지개 토토인하는 것보다 더 유용합니다Syslog, 일부 유형의 메시지가 나타나지 않을 수 있으므로Syslog출력. (일반적인 예제는 동적 링커 실패 메시지입니다. 다른 하나는와 같은 스크립트에 의해 생성 된 오류 메시지입니다.archive_command.)이 매개 변수는 서버 시작시에만 설정할 수 있습니다.

note

무지개 토토인 할 수 있습니다Stderr로깅 수집기를 사용하지 않고; 무지개 토토 메시지는 서버가 어디에 있든로 이동합니다.Stderr가 지시됩니다. 그러나이 방법은 무지개 토토 파일을 회전시키는 편리한 방법을 제공하지 않기 때문에 낮은 무지개 토토 볼륨에만 적합합니다. 또한 로깅 수집기를 사용하지 않는 일부 플랫폼에서는 동일한 무지개 토토 파일에 동시에 쓰는 여러 프로세스가 서로의 출력을 덮어 쓸 수 있기 때문에 무지개 토토 컬렉터가 손실되거나 변형 될 수 있습니다..

Note

로깅 수집기는 메시지를 잃지 않도록 설계되었습니다. 즉,로드가 매우 높은 경우 컬렉터가 뒤처 졌을 때 추가 무지개 토토 메시지를 보내려고하는 동안 서버 프로세스가 차단 될 수 있습니다. 대조적으로,Syslog메시지를 작성할 수없는 경우 메시지를 삭제하는 것을 선호합니다. 즉, 그러한 경우에 일부 메시지를 기록하지 못할 수 있지만 나머지 시스템을 차단하지는 않습니다..

log_directory(String)

whenlogging_collector활성화되어 있습니다.이 매개 변수는 로그 파일이 생성 될 디렉토리를 결정합니다. 절대 경로 또는 클러스터 데이터 디렉토리와 관련하여 지정할 수 있습니다. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에. 기본값은log.

log_filename(String)

언제logging_collector활성화되어 있습니다.이 매개 변수는 생성 된 무지개 토토 파일의 파일 이름을 설정합니다. 값은 A로 취급됩니다.Strftime패턴,%-escapes를 사용하여 시변 파일 이름을 지정할 수 있습니다. (시간 구역 의존성이있는 경우%-스케이프, 계산은에 의해 지정된 영역에서 수행됩니다log_timezone.) 지원되는%-ESCAPES는 Open Group의 나열된 것과 유사합니다Strftime사양. 시스템의Strftime직접 사용되지 않으므로 플랫폼 별 (비표준) 확장이 작동하지 않습니다. 기본값은postgresql-%y-%m-%d_%h%m%s.log.

이스케이프없이 파일 이름을 지정하면 전체 디스크를 채우지 않도록 로그 회전 유틸리티를 사용해야합니다. 8.4 이전에 릴리스에서%ESCAPES가 존재했습니다.PostgreSQL새로운 무지개 토토 파일의 생성 시간의 시대를 추가 할 것입니다. 그러나 이것은 더 이상 그렇지 않습니다.

CSV 형식 출력이 활성화 된 경우log_destination, .CSVCSV 형식 출력의 파일 이름을 생성하기 위해 타임 스탬프 로그 파일 이름에 추가됩니다. (만약에log_filename.log, 접미사가 대신 교체됩니다.)

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

log_file_mode(정수)

UNIX 시스템 에서이 매개 변수는 무지개 토토 파일에 대한 권한을 설정합니다.logging_collector가 활성화되었습니다. (Microsoft Windows 에서이 매개 변수는 무시됩니다.) 매개 변수 값은에 의해 허용되는 형식으로 지정된 숫자 모드 일 것으로 예상됩니다.CHMODandUmask시스템 호출. (관례 옥탈 형식을 사용하려면 숫자는 a로 시작해야합니다.0(0).)

기본 권한은입니다.0600, 즉 서버 소유자 만 무지개 토토 파일을 읽거나 쓸 수 있음을 의미합니다. 다른 일반적으로 유용한 설정은입니다.0640, 소유자 그룹의 구성원이 파일을 읽을 수 있도록합니다. 그러나 그러한 설정을 사용하려면 변경해야합니다log_directory클러스터 데이터 디렉토리 외부의 어딘가에 파일을 저장합니다. 어쨌든 민감한 데이터를 포함 할 수 있으므로 무지개 토토 파일을 세계적으로 읽을 수있는 것은 현명하지 않습니다.

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

log_rotation_age(Integer)

언제logging_collector가 활성화되어 있습니다.이 매개 변수는 개별 로그 파일을 사용하는 최대 시간을 결정한 후 새 로그 파일이 생성됩니다. 이 값이 단위없이 지정되면 몇 분이 걸립니다. 기본값은 24 시간입니다. 새로운 로그 파일의 시간 기반 생성을 비활성화하려면 0으로 설정하십시오. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

log_rotation_size(Integer)

whenlogging_collector활성화되어 있으며이 매개 변수는 개별 로그 파일의 최대 크기를 결정합니다. 이 양의 데이터가 로그 파일로 방출되면 새 로그 파일이 생성됩니다. 이 값이 단위없이 지정되면 킬로 바이트로 간주됩니다. 기본값은 10 메가 바이트입니다. 새 로그 파일의 크기 기반 생성을 비활성화하기 위해 0으로 설정하십시오. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

log_truncate_on_rotation(부울)

언제logging_collector활성화되어 있습니다.이 매개 변수는 원인이됩니다PostgreSQL동일한 이름의 기존 로그 파일에 부여하기보다는 Truncate (Overwrite). 그러나 서버 스타트 업 또는 크기 기반 회전 중에 시간 기반 회전으로 인해 새 파일이 열릴 때만 자리가 발생합니다. 꺼지면 기존 파일이 모든 경우에 추가됩니다. 예를 들어,이 설정을 A와 함께 사용합니다.log_filenameLikePostgresql-%H.log는 24 시간당 로그 파일을 생성 한 다음 주기적으로 덮어 쓰게됩니다. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

예 : 7 일의 무지개 토토를 유지하려면 하루에 하나의 무지개 토토 파일이 명명되었습니다server_log.mon, server_log.tue등, 이번 주 무지개 토토로 지난 주 무지개 토토를 자동으로 덮어 씁니다.log_filenametoServer_Log.%a, log_truncate_on_rotationtoonlog_rotation_ageto1440.

예 : 24 시간의 무지개 토토를 유지하려면 시간당 1 개의 무지개 토토 파일을 유지하지만 무지개 토토 파일 크기가 1GB를 초과하면 더 빨리 회전합니다.log_filenametoServer_Log.%H%m, log_truncate_on_rotationtoon, log_rotation_ageto60log_rotation_sizeto1000000. 포함%minlog_filename시간의 초기 파일 이름과 다른 파일 이름을 선택하기 위해 발생할 수있는 모든 크기 구동 회전이 가능합니다.

syslog_facility(enum)

무지개 토토인 할 때Syslog활성화되어 있습니다.이 매개 변수는를 결정합니다.Syslog 시설사용하려면. 선택할 수 있습니다local0, local1, local2, local3, local4, local5, local6, Local7; 기본값은local0. 시스템 문서도 참조 참조Syslog데몬. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

syslog_ident(String)

무지개 토토인 할 때Syslog활성화되어 있습니다.이 매개 변수는 식별하는 데 사용되는 프무지개 토토램 이름을 결정합니다postgresql메시지에서Syslog무지개 토토. 기본값은Postgres. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

SYSLOG_SEVERENCE_NUMBERS(부울)

무지개 토토인 할 때Syslog그리고 이것은 켜져 있습니다 (기본값). 그러면 각 메시지가 증가하는 시퀀스 번호 (예 :에 의해 접두사로 표시됩니다.[2]). 이것은를 우회합니다--- 마지막 메시지 반복 n 번 ---기본적으로 많은 Syslog 구현이 수행되는 억제. 보다 최신 Syslog 구현에서 반복 메시지 억제를 구성 할 수 있습니다 (예 :$ repeatedMsgreductioninrsyslog), 이것이 필요하지 않을 수 있습니다. 또한 실제로 반복 된 메시지를 억제하려면이 꺼질 수 있습니다.

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

syslog_split_messages(부울)

무지개 토토인 할 때Syslog활성화되어 있습니다.이 매개 변수는 메시지가 Syslog로 전달되는 방법을 결정합니다. (기본값)시 (기본값) 메시지가 줄별로 분할되고 긴 줄이 분할되어 1024 바이트에 맞도록 전통적인 Syslog 구현의 일반적인 크기 제한입니다. 꺼짐에 따라 PostgreSQL 서버 로그 메시지가 그대로 Syslog 서비스로 전달되며 잠재적으로 부피가 큰 메시지에 대처하는 것은 Syslog 서비스에 달려 있습니다..

Syslog가 궁극적으로 텍스트 파일에 로그인하는 경우, 효과는 어느 쪽이든 동일하며, 대부분의 Syslog 구현이 큰 메시지를 처리 ​​할 수 ​​없거나 처리하도록 특별히 구성되어야하므로 설정을 떠나는 것이 가장 좋습니다. 그러나 Syslog가 궁극적으로 다른 매체에 글을 쓰고 있다면 메시지를 논리적으로 함께 유지하는 것이 필요하거나 더 유용 할 수 있습니다.

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

Event_Source(String)

무지개 토토인 할 때이벤트 무지개 토토활성화되어 있습니다.이 매개 변수는 식별하는 데 사용되는 프무지개 토토램 이름을 결정합니다PostgreSQL무지개 토토의 메시지. 기본값은PostgreSQL. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

19.8.2. 로그인시기

log_min_messages(enum)

컨트롤메시지 레벨서버 무지개 토토에 기록됩니다. 유효한 값은Debug5, Debug4, Debug3, Debug2, Debug1, 정보, 통지, 경고, 오류, log, 치명적panic. 각 레벨에는이를 따르는 모든 레벨이 포함됩니다. 레벨이 나중에 더 적은 메시지가 무지개 토토로 전송됩니다. 기본값은경고. 참고log여기와 다른 순위가 있습니다client_min_messages. 수퍼 유저만이 설정을 변경할 수 있습니다.

log_min_error_statement(enum)

제어 서버 로그에 오류 조건을 유발하는 SQL 문이 기록됩니다. 현재 SQL 문은 지정된 메시지의 모든 메시지에 대해 로그 항목에 포함됩니다심각도이상. 유효한 값은Debug5, Debug4, Debug3, Debug2, Debug1, info, 통지, 경고, 오류, log, 치명적panic. 기본값은오류, 이는 오류, 로그 메시지, 치명적인 오류 또는 공황을 일으키는 진술이 기록됩니다. 실패한 명령문의 로깅을 효과적으로 끄려면이 매개 변수를로 설정하십시오.panic. 수퍼 유저만이 설정을 변경할 수 있습니다.

log_min_duration_statement(정수)

명령문이 최소한 지정된 시간 동안 실행되면 각 완료된 명령문의 지속 시간이 기록됩니다. 이 값이 단위없이 지정되면 밀리 초로 간주됩니다. 이것을 제로 인쇄로 설정하면 모든 문자 기간이 있습니다. 마이너스 1 (기본값)은 로깅 명령문 기간을 비활성화합니다. 예를 들어,로 설정하면250ms그러면 250ms 이상 실행되는 모든 SQL 문은 기록됩니다. 이 매개 변수를 활성화하면 응용 프로그램에서 최적화되지 않은 쿼리를 추적하는 데 도움이 될 수 있습니다. 수퍼 유저만이 설정을 변경할 수 있습니다.

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

Note

이 옵션을 함께 사용할 때log_statement,log_statement지속 시간 로그 메시지에서 반복되지 않습니다. 사용하지 않는 경우Sysloglog_line_prefix진술 메시지를 프로세스 ID 또는 세션 ID를 사용하여 이후의 기간 메시지에 연결할 수 있도록

log_transaction_sample_rate(Real)

다른 이유로 기록 된 진술 외에도 진술이 모두 기록 된 트랜잭션의 비율을 설정합니다. 진술의 지속 시간에 관계없이 각 새로운 거래에 적용됩니다. 기본값은0, 추가 거래에서 명세서를 기록하지 않음을 의미합니다. 이것을 설정1모든 거래에 대한 모든 진술을 기록합니다.log_transaction_sample_rate트랜잭션 샘플을 추적하는 데 도움이됩니다. 수퍼 유저만이 설정을 변경할 수 있습니다.

Note

모든 문장 옵션과 마찬가지로이 옵션은 상당한 오버 헤드를 추가 할 수 있습니다.

표 19.2|PostgreSQL. 로깅 출력이 전송되는 경우Syslog또는 Windows 'EventLog, 심각도 레벨은 표에 표시된대로 번역됩니다.

표 19.2. 메시지 심각도 수준

심각도 usage Syslog EventLog
Debug1..debug5 개발자가 사용할 수있는 연속적으로 더 많은 정보를 제공합니다. 디버그 정보
정보 사용자가 암시 적으로 요청한 정보 제공, 예를 들어, 출력진공 장점. Info 정보
통지 사용자에게 도움이 될 수있는 정보 (예 : 긴 식별자의 잘린 통지)를 제공합니다. 통지 정보
경고 가능한 문제에 대한 경고를 제공합니다 (예 :커밋트랜잭션 블록 외부. 통지 경고
오류 현재 명령이 중단 된 오류를보고합니다. 경고 오류
log 관리자에게 관심있는 정보를보고, 예를 들어 체크 포인트 활동. 정보 정보
치명적 현재 세션이 중단 된 오류를보고합니다. err 오류
panic 모든 데이터베이스 세션이 중단 된 오류를보고합니다. Crit 오류

19.8.3. 로그인

Note

무지개 토토로 선택한 내용은 보안에 영향을 줄 수 있습니다. 보다PostgreSQL : 문서 : 12 : 24.3. 사설 토토 사이트 파일 유지 관리.

Application_Name(String)

theapplication_name|지명 된 ATALEN문자 (표준 빌드의 64 자). 일반적으로 서버에 연결시 응용 프무지개 토토램에 의해 설정됩니다. 이름은에 표시됩니다.pg_stat_activity보기 및 CSV 로그 항목에 포함되어 있습니다. 또한를 통해 정기 로그 항목에 포함될 수 있습니다.log_line_prefix매개 변수. 인쇄 가능한 ASCII 문자 만 사용될 수 있습니다.application_name값. 다른 문자는 물음표로 대체됩니다 (?).

debug_print_parse(부울)
debug_print_rewritten(부울)
debug_print_plan(부울)

이 매개 변수를 사용하면 다양한 디버깅 출력이 방출 될 수 있습니다. 설정되면 결과 구문 분석 트리, 쿼리 리 작품 출력 또는 실행 된 각 쿼리에 대한 실행 계획을 인쇄합니다. 이 메시지는에서 방출됩니다.log메시지 레벨이므로 기본적으로 서버 로그에 나타나지 만 클라이언트로 전송되지 않습니다. 조정하여 변경할 수 있습니다client_min_messages및/또는log_min_messages. 이 매개 변수는 기본적으로 꺼져 있습니다.

debug_pretty_print(부울)

SET,debug_pretty_print|debug_print_parse, debug_print_rewritten또는debug_print_plan. 이로 인해 더 읽기 쉽지만 출력이 훨씬 길어compact꺼져있을 때 사용되는 형식. 기본적으로 켜져 있습니다.

log_checkpoints(부울)

서버 로그에 검사 점과 재시작이 로그인됩니다. 작성된 버퍼 수와 쓰기 시간을 포함하여 일부 통계는 로그 메시지에 포함됩니다. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에. 기본값이 꺼져 있습니다.

log_connections(부울)

클라이언트 인증을 성공적으로 완료 할뿐만 아니라 서버에 대한 각 시도가 서버에 연결되도록합니다. 슈퍼 사용자만이 세션 시작 시이 매개 변수를 변경할 수 있으며 세션 내에서 전혀 변경할 수 없습니다. 기본값은OFF.

Note

일부 클라이언트 프무지개 토토램, 유사PSQL, 비밀번호가 필요한지 결정하는 동안 두 번 연결하려고 시도하므로 중복연결 수신메시지가 반드시 문제를 나타내는 것은 아닙니다.

log_disconcection(부울)

세션 종료를 기록합니다. 로그 출력은와 유사한 정보를 제공합니다.log_connections와 세션 기간. 슈퍼 사용자만이 세션 시작 시이 매개 변수를 변경할 수 있으며 세션 내에서 전혀 변경할 수 없습니다. 기본값은OFF.

log_duration(부울)

완성 된 모든 문의 지속 시간이 기록됩니다. 기본값은OFF. 수퍼 유저만이 설정을 변경할 수 있습니다.

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

note

활성화의 차이log_duration및 설정log_min_duration_statement~ 0은 초과log_min_duration_statement쿼리 텍스트를 기록하도록 강요하지만이 옵션은 그렇지 않습니다. 따라서 iflog_durationisonlog_min_duration_statement양수 값이 있고 모든 지속 시간은 기록되지만 쿼리 텍스트는 임계 값을 초과하는 문에 대해서만 포함됩니다. 이 동작은 고 부하 설치에서 통계를 수집하는 데 유용 할 수 있습니다.

log_error_verbosity(enum)

무지개 토토인 된 각 메시지에 대해 서버 무지개 토토에 작성된 세부 사항을 제어합니다. 유효한 값은Terse, 기본값Verbose, 각각 표시된 메시지에 더 많은 필드를 추가합니다.Terse의 벌목 제외세부 사항, 힌트, 쿼리Context오류 정보.Verbose출력 포함sqlstate오류 코드 (참조PostgreSQL : 문서 : 12 : 부록 A. PostgreSQL 토토 커뮤니티 코드) 및 오류를 생성 한 소스 코드 파일 이름, 함수 이름 및 줄 번호. 수퍼 유저만이 설정을 변경할 수 있습니다.

log_hostname(부울)

기본적으로 연결 로그 메시지는 연결 호스트의 IP 주소 만 표시합니다. 이 매개 변수를 켜면 호스트 이름의 로깅도 원인입니다. 호스트 이름 해상도 설정에 따라 무시할 수없는 성능 페널티를 부과 할 수 있습니다. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

log_line_prefix(String)

이것은 Aprintf-각 무지개 토토 라인의 시작 부분에서 출력되는 스타일 문자열.%문자 시작탈출 시퀀스아래에 요약 된 상태 정보로 대체됩니다. 인식되지 않은 탈출은 무시됩니다. 다른 문자는 로그 라인에 직접 복사됩니다. 일부 이스케이프는 세션 프로세스에 의해서만 인식되며 기본 서버 프로세스와 같은 백그라운드 프로세스에 의해 비어있는 것으로 취급됩니다. 상태 정보는 % 후 및 옵션 전 및 옵션 이전의 숫자 문자를 지정하여 왼쪽 또는 오른쪽으로 정렬 될 수 있습니다. 음수 값은 공백으로 오른쪽에 상태 정보를 패드하여 최소 너비를 제공하는 반면, 양수 값은 왼쪽에 패드됩니다. 패딩은 로그 파일의 인간 가독성을 돕는 데 유용 할 수 있습니다. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에. 기본값은'%m [%p]'타임 스탬프와 프로세스 ID를 기록하는 것은

탈출 효과 세션 만
%a 응용 프무지개 토토램 이름
%U 사용자 이름
%d 데이터베이스 이름
%r 원격 호스트 이름 또는 IP 주소 및 원격 포트
%H 원격 호스트 이름 또는 IP 주소
%P 프로세스 ID 아니오
%t 밀리 초없는 타임 스탬프 아니오
%m 밀리 초가있는 타임 스탬프 아니오
%n 밀리 초가있는 타임 스탬프 (UNIX Epoch) 아니오
%I 명령 태그 : 세션 유형의 현재 명령
%e SQLSTATE 오류 코드 아니오
%C 세션 ID : 아래 참조 아니오
%l 각 세션 또는 프로세스에 대한 로그 라인 수, 1 아니오
%s 프로세스 시작 시간 스탬프 아니오
%V 가상 트랜잭션 ID (backendid/localxid) 아니오
%x 트랜잭션 ID (0 할당되지 않은 경우 0) 아니오
%Q 출력은 생성되지 않지만,이 시점에서 문자열에서 중지하지 말라고 말합니다. 세션 프로세스로 무시 아니오
53999_54003 리터럴% 아니오

the%CEscape는 두 개의 4 바이트 16 진수 숫자 (선행 0이없는)로 구성된 준 유니 퀴크 세션 식별자를 인쇄합니다. 숫자는 프로세스 시작 시간과 프로세스 ID이므로%C해당 항목을 인쇄하는 공간 절약 방법으로도 사용할 수도 있습니다. 예를 들어, 세션 식별자를 생성하려면pg_stat_activity,이 쿼리를 사용하십시오 :

select to_hex (trunc (extract (expoch from backend_start)) :: 정수) || '.' ||
       to_hex (pid)
pg_stat_activity에서;

remempty 값을 설정 한 경우log_line_prefix, 당신은 일반적으로 마지막 캐릭터를 공간으로 만들어야합니다. 구두점 문자도 사용할 수 있습니다.

Syslog자체 타임 스탬프 및 프로세스 ID 정보를 생성하므로 로깅중인 경우 이스케이프를 포함시키고 싶지 않을 것입니다Syslog.

the%QEscape는 사용자 또는 데이터베이스 이름과 같은 세션 (백엔드) 컨텍스트에만 사용할 수있는 정보를 포함 할 때 유용합니다. 예를 들어:

log_line_prefix = '%m [%p]%q%u@%d/%a'
log_lock_waits(부울)

세션이 더 길어질 때 무지개 토토 메시지가 생성되는지 여부를 제어합니다.Deadlock_timeout자물쇠를 얻으려면. 이것은 잠금 대기가 성능 저하를 유발하는지 여부를 결정하는 데 유용합니다. 기본값은OFF. 수퍼 유저만이 설정을 변경할 수 있습니다.

log_statement(enum)

어떤 SQL 문을 기록하는지 제어합니다. 유효한 값은없음(OFF),DDL, modall(모든 진술).DDL모든 데이터 정의 문서와 같은 모든 데이터 정의 문서Create, Alter드롭진술.mod모든 무지개 토토DDL진술, 그리고와 같은 데이터 수정 문장삽입, 업데이트, 삭제, Truncate복사. 준비, execute분석포함 된 명령이 적절한 유형 인 경우 문장도 기록됩니다. 확장 쿼리 프로토콜을 사용하는 클라이언트의 경우 로깅이 실행 메시지를 수신 할 때 발생하며 바인드 매개 변수의 값이 포함됩니다 (임베드 된 단일 쿼트 마크가 두 배로 늘어 됨)..

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

Note

간단한 구문 오류가 포함 된 문장은에 의해서도 기록되지 않습니다log_statement=all설정, 로그 메시지가 명령문 유형을 결정하기 위해 기본 구문 분석이 수행 된 후에 만 ​​방출되기 때문에 설정. 확장 쿼리 프로토콜의 경우,이 설정은 마찬가지로 실행 단계 전에 실패하는 문을 기록하지 않습니다 (즉, 구문 분석 또는 계획 중). 세트log_min_error_statementto오류(또는 하단) 그러한 진술을 기록합니다.

무지개 토토인 한 명령문은 민감한 데이터를 보여주고 일반 텍스트 암호를 포함 할 수도 있습니다.

log_replication_commands(부울)

각 복제 명령이 서버 무지개 토토에 무지개 토토인됩니다. 보다PostgreSQL : 문서 : 12 : 52.4. 스포츠 토토 복제 프로토콜복제 명령에 대한 자세한 내용. 기본값은입니다.OFF. 수퍼 유저만이 설정을 변경할 수 있습니다.

log_temp_files(Integer)

임시 파일 이름 및 크기의 로깅을 제어합니다. 정렬, 해시 및 임시 쿼리 결과에 대해 임시 파일을 작성할 수 있습니다. 이 설정에서 활성화 된 경우 삭제 될 때 각 임시 파일에 대해 로그 항목이 방출됩니다. 0의 값은 모든 임시 파일 정보를 로그인 반면, 긍정적 값은 크기가 지정된 데이터 양보다 큰 파일 만 기록합니다. 이 값이 단위없이 지정되면 킬로 바이트로 간주됩니다. 기본 설정은 -1로 이러한 로깅을 비활성화합니다. 수퍼 유저만이 설정을 변경할 수 있습니다.

log_timezone(String)

서버 무지개 토토에 작성된 타임 스탬프에 사용되는 시간대를 설정합니다. 같지 않은TimeZone,이 값은 클러스터 전체에 있으므로 모든 세션이 일관되게 타임 스탬프를보고합니다. 내장 기본값은입니다.gmt, 그러나 일반적으로postgresql.conf;initdb시스템 환경에 해당하는 설정을 설치합니다. 보다섹션 8.5.3자세한 내용. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

19.8.4. CSV 형식 로그 출력 사용

포함CSVLOGinlog_destinationList는 로그 파일을 데이터베이스 테이블로 가져 오는 편리한 방법을 제공합니다. 이 옵션은 Comma-Separated-values ​​(의 로그 라인을 방출합니다.CSV) 형식,이 열과 함께 : 밀리 초, 사용자 이름, 데이터베이스 이름, 프로세스 ID, 클라이언트 호스트 : 포트 번호, 세션 ID 당 선 번호, 명령 태그, 세션 시작 시간, 가상 트랜잭션 ID, 일반 트랜잭션 ID, 오류 심각도, SQLSTATE 코드, 오류 메시지 세부 사항, 힌트, 오류가 발생한 내부 Query (오류) 오류 컨텍스트, 오류로 이어진 사용자 쿼리 (에 오류가 발생한 사용자 쿼리log_min_error_statement), 여기에 오류 위치의 문자 수, PostgreSQL 소스 코드의 오류 위치 (iflog_error_verbosity로 설정되었습니다​​Verbose) 및 응용 프무지개 토토램 이름. 다음은 CSV 형식 로그 출력 저장을위한 샘플 테이블 정의입니다.

TABLE Postgres_Log를 만듭니다
(
  시간대가있는 log_time timestamp (3),
  user_name 텍스트,
  database_name 텍스트,
  process_id 정수,
  Connection_from 텍스트,
  session_id 텍스트,
  session_line_num bigint,
  Command_tag ​​텍스트,
  시간대가있는 session_start_time 타임 스탬프,
  virtual_transaction_id 텍스트,
  transaction_id bigint,
  error_severity 텍스트,
  sql_state_code 텍스트,
  메시지 텍스트,
  세부 텍스트,
  힌트 텍스트,
  내부_Query 텍스트,
  internal_query_pos 정수,
  컨텍스트 텍스트,
  쿼리 텍스트,
  query_pos 정수,
  위치 텍스트,
  application_name 텍스트,
  기본 키 (session_id, session_line_num)
);

이 테이블에 무지개 토토 파일을 가져 오려면를 사용하십시오.COPY from명령 :

csv를 사용하여 '/full/path/toto/logfile.csv'에서 postgres_log를 복사합니다

제공된 것을 사용하여 파일에 외부 테이블로 파일에 액세스 할 수도 있습니다file_fdw모듈.

CSV 로그 파일 가져 오기를 단순화하기 위해해야 ​​할 일이 몇 가지 있습니다 :

  1. SETlog_filenameandlog_rotation_age로그 파일에 일관되고 예측 가능한 이름 지정 체계를 제공합니다. 이를 통해 파일 이름이 무엇인지 예측하고 개별 로그 파일이 완료되어 가져올 준비가 된시기를 알 수 있습니다.

  2. SETlog_rotation_size무지개 토토 파일 이름을 예측하기 어렵게 만들기 때문에 크기 기반 무지개 토토 회전을 비활성화하려면 0 ~ 0입니다.

  3. SETlog_truncate_on_rotationtoon기존 무지개 토토 데이터가 같은 파일의 새 새와 혼합되지 않도록하십시오.

  4. 위의 표 정의에는 기본 키 사양이 포함됩니다. 이것은 실수로 동일한 정보를 두 번 가져 오지 않도록 보호하는 데 유용합니다. 그만큼COPY명령은 한 번에 가져 오는 모든 데이터를 한 번에 저장하므로 오류로 인해 전체 가져 오기가 실패하게됩니다. 부분 로그 파일을 가져오고 나중에 파일이 완료되면 파일을 다시 가져 오면 기본 키 위반으로 인해 가져 오기가 실패합니다. 가져 오기 전에 로그가 완료되고 닫힐 때까지 기다리십시오. 이 절차는 또한 완전히 작성되지 않은 부분 선을 실수로 가져 오는 것을 방지 할 수 있습니다.COPY실패합니다.

19.8.5. 프로세스 제목

이 설정은 서버 프로세스의 프로세스 제목을 수정하는 방법을 제어합니다. 프로세스 타이틀은 일반적으로와 같은 프무지개 토토램을 사용하여 봅니다.PS또는 Windows에서프로세스 탐색기. 보다스포츠 토토 결과 PostgreSQL : 문서 : 12 : 27.1. 표준 유닉스 도구자세한 내용.

cluster_name(String)

이 데이터베이스 클러스터 (인스턴스)를 다양한 목적으로 식별하는 이름을 설정합니다. 클러스터 이름은이 클러스터의 모든 서버 프로세스의 프로세스 제목에 나타납니다. 또한 대기 연결의 기본 응용 프무지개 토토램 이름입니다 (참조synchronous_standby_names.)

이름은 어떤 문자열보다.paminatalen문자 (표준 빌드의 64 자). 인쇄 가능한 ASCII 문자 만 사용될 수 있습니다.cluster_name값. 다른 문자는 물음표로 대체됩니다 (?). 이 매개 변수가 빈 문자열로 설정된 경우 이름이 표시되지 않습니다''(기본값). 이 매개 변수는 서버 시작에서만 설정할 수 있습니다.

update_process_title(부울)

서버에서 새 SQL 명령을 수신 할 때마다 프로세스 제목을 업데이트 할 수 있습니다. 이 설정 기본값on대부분의 플랫폼에서는 기본값OFFWindows에서 해당 플랫폼의 프로세스 제목을 업데이트하기위한 더 큰 오버 헤드로 인해. 수퍼 유저만이 설정을 변경할 수 있습니다.