log_destination (String) #PostgreSQL를 포함하여 서버 메시지 로깅을위한 몇 가지 방법을 지원합니다Stderr, CSVLOG, JSONLOG및Syslog. Windows에서EventLog도 지원됩니다. 이 매개 변수를 쉼표로 분리 한 원하는 윈 토토 대상 목록으로 설정하십시오. 기본값은에 윈 토토인하는 것입니다.Stderr만. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.
ifCSVLOGlog_destination, 윈 토토 항목이 출력됩니다“Comma-Separated Value” (CSV) 형식, 윈 토토를 프윈 토토램에로드하는 데 편리합니다. 보다섹션 19.8.4자세한 내용.logging_collectorCSV 형식 윈 토토 출력을 생성하려면 활성화해야합니다.
ifJSONLOGlog_destination, 윈 토토 항목이 출력됩니다JSON형식. 윈 토토를 프윈 토토램에로드하는 데 편리합니다. 보다섹션 19.8.5자세한 내용.logging_collectorJSON- 형식 윈 토토 출력을 생성하려면 활성화해야합니다.
언제든지Stderr, CSVLOG또는JSONLOG포함되어 있습니다. 파일current_logfiles로깅 콜렉터 및 관련 로깅 대상이 현재 사용중인 윈 토토 파일의 위치를 기록하도록 만들어졌습니다. 이는 인스턴스에서 현재 사용중인 윈 토토를 찾는 편리한 방법을 제공합니다. 이 파일의 내용의 예는 다음과 같습니다.
stderr log/postgresql.log csvlog log/postgresql.csv jsonlog log/postgresql.json
current_logfiles새 윈 토토 파일이 회전의 효과로 생성 될 때, 그리고 언제log_destination다시로드됩니다. 아무것도 제거됩니다Stderr, CSVLOG또는JSONLOGlog_destination및 로깅 수집기가 비활성화 된 시점.
대부분의 UNIX 시스템에서는 시스템 구성을 변경해야합니다Syslog데몬을 사용하기 위해Syslog옵션log_destination. PostgreSQL윈 토토인 할 수 있습니다Syslog시설local0throughLocal7(참조syslog_facility), 그러나 기본값Syslog대부분의 플랫폼에서의 구성은 그러한 모든 메시지를 폐기합니다. 다음과 같은 것을 추가해야합니다.
local0.*/var/log/postgresql
to theSyslog작동하도록 데몬의 구성 파일.
Windows에서에서EventLog옵션log_destination, Windows 이벤트 뷰어가 이벤트 윈 토토 메시지를 깨끗하게 표시 할 수 있도록 이벤트 소스 및 라이브러리를 운영 체제에 등록해야합니다. 보다PostgreSQL : 문서 : 17 : 18.12. 토토 베이 로그 등록 Windows자세한 내용.
logging_collector (부울) #이 매개 변수는를 가능하게합니다.로깅 수집가, 이것은 윈 토토 메시지를 캡처하는 배경 프로세스입니다.Stderr윈 토토 파일로 리디렉션합니다. 이 접근법은 종종 윈 토토인하는 것보다 더 유용합니다Syslog, 일부 유형의 메시지가 나타나지 않을 수 있으므로Syslog출력. (일반적인 예제는 동적 링커 실패 메시지입니다. 다른 하나는와 같은 스크립트에 의해 생성 된 오류 메시지입니다.archive_command.)이 매개 변수는 서버 시작시에만 설정할 수 있습니다.
윈 토토인 할 수 있습니다Stderr로깅 수집기를 사용하지 않고; 윈 토토 메시지는 서버가 어디에 있든로 이동합니다.Stderr가 지시됩니다. 그러나이 방법은 윈 토토 파일을 회전시키는 편리한 방법을 제공하지 않기 때문에 낮은 윈 토토 볼륨에만 적합합니다. 또한 로깅 수집기를 사용하지 않는 일부 플랫폼에서는 동일한 윈 토토 파일에 동시에 쓰는 여러 프로세스가 서로의 출력을 덮어 쓸 수 있기 때문에 윈 토토 컬렉터가 손실되거나 변형 될 수 있습니다..
로깅 수집기는 메시지를 잃지 않도록 설계되었습니다. 즉,로드가 매우 높은 경우 컬렉터가 뒤처 졌을 때 추가 윈 토토 메시지를 보내려고하는 동안 서버 프로세스가 차단 될 수 있습니다. 대조적으로,Syslog메시지를 작성할 수없는 경우 메시지를 삭제하는 것을 선호합니다. 즉, 그러한 경우에 일부 메시지를 기록하지 못할 수 있지만 나머지 시스템을 차단하지는 않습니다..
log_directory (String) #언제logging_collector활성화되어 있습니다.이 매개 변수는 윈 토토 파일이 생성 될 디렉토리를 결정합니다. 절대 경로 또는 클러스터 데이터 디렉토리와 관련하여 지정할 수 있습니다. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에. 기본값은log.
log_filename (String) #언제logging_collector가 활성화되어 있으며이 매개 변수는 생성 된 윈 토토 파일의 파일 이름을 설정합니다. 값은 A로 취급됩니다.Strftime패턴,%-escapes를 사용하여 시변 파일 이름을 지정할 수 있습니다. (시간 구역 의존성이있는 경우%-스케이프, 계산은에 의해 지정된 영역에서 수행됩니다log_timezone.) 지원되는%-escapes는 Open Group 's에 나열된 것과 유사합니다Strftime사양. 시스템의Strftime직접 사용되지 않으므로 플랫폼 별 (비표준) 확장이 작동하지 않습니다. 기본값은postgresql-%y-%m-%d_%h%m%s.log.
이스케이프없이 파일 이름을 지정하면 전체 디스크를 채우지 않도록 윈 토토 회전 유틸리티를 사용해야합니다. 8.4 이전에 릴리스에서%ESCAPES가 존재했습니다.PostgreSQL새 윈 토토 파일의 생성 시간의 시대를 추가 할 것입니다. 그러나 이것은 더 이상 그렇지 않습니다.
CSV 형식 출력이 활성화 된 경우log_destination, .CSVCSV 형식 출력의 파일 이름을 생성하기 위해 타임 스탬프 윈 토토 파일 이름에 추가됩니다. (만약에log_filename종료.LOG, 접미사가 대신 교체됩니다.)
JSON- 형식 출력이 활성화 된 경우log_destination, .jsonJSON- 형식 출력의 파일 이름을 생성하기 위해 타임 스탬프 윈 토토 파일 이름에 추가됩니다. (만약에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) #언제logging_collector활성화되어 있으며이 매개 변수는 개별 윈 토토 파일의 최대 크기를 결정합니다. 이 양의 데이터가 윈 토토 파일로 방출되면 새 윈 토토 파일이 생성됩니다. 이 값이 단위없이 지정되면 킬로 바이트로 간주됩니다. 기본값은 10 메가 바이트입니다. 새 윈 토토 파일의 크기 기반 생성을 비활성화하기 위해 0으로 설정하십시오. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.
log_truncate_on_rotation (부울) #언제logging_collector활성화 되어이 매개 변수가 원인이됩니다PostgreSQL동일한 이름의 기존 윈 토토 파일에 부여하기보다는 Truncate (Overwrite). 그러나 서버 스타트 업 또는 크기 기반 회전 중에 시간 기반 회전으로 인해 새 파일이 열릴 때만 자리가 발생합니다. 꺼지면 기존 파일이 모든 경우에 추가됩니다. 예를 들어,이 설정을 A와 함께 사용합니다.log_filename좋아요Postgresql-%H.log는 24 시간당 윈 토토 파일을 생성 한 다음 주기적으로 덮어 쓰게됩니다. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.
예 : 7 일의 윈 토토를 유지하려면 하루에 하나의 윈 토토 파일이 명명되었습니다server_log.mon, server_log.tue등, 이번 주 윈 토토로 지난 주 윈 토토를 자동으로 덮어 씁니다.log_filenametoServer_Log.%a, log_truncate_on_rotationtoon및log_rotation_ageto1440.
예 : 24 시간의 윈 토토를 유지하려면 시간당 1 개의 윈 토토 파일을 유지하지만 윈 토토 파일 크기가 1GB를 초과하면 더 빨리 회전합니다.log_filenametoServer_Log.%H%m, log_truncate_on_rotationtoon, log_rotation_ageto60및log_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파일 또는 서버 명령 줄에.
log_min_messages (enum) #컨트롤메시지 레벨서버 윈 토토에 기록됩니다. 유효한 값은Debug5, Debug4, Debug3, Debug2, Debug1, 정보, 통지, 경고, 오류, 윈 토토, 치명적및panic. 각 레벨에는이를 따르는 모든 레벨이 포함됩니다. 레벨이 나중에 더 적은 메시지가 윈 토토로 전송됩니다. 기본값은경고. 참고log여기와 다른 순위가 있습니다client_min_messages. 적절한 수퍼 유행자 및 사용자 만SET권한은이 설정을 변경할 수 있습니다.
log_min_error_statement (enum) #제어 서버 윈 토토에 오류 조건을 유발하는 SQL 문이 기록됩니다. 현재 SQL 문은 지정된 메시지의 모든 메시지에 대해 윈 토토 항목에 포함됩니다심각도이상. 유효한 값은Debug5, Debug4, Debug3, Debug2, 34852_34860, 정보, 통지, 경고, 오류, log, 치명적및panic. 기본값은오류, 이는 오류, 윈 토토 메시지, 치명적인 오류 또는 공황을 일으키는 진술이 기록됩니다. 실패한 명령문의 로깅을 효과적으로 끄려면이 매개 변수를로 설정하십시오.panic. 적절한 수퍼 유행자 및 사용자 만SET권한은이 설정을 변경할 수 있습니다.
log_min_duration_statement (정수) #명령문이 최소한 지정된 시간 동안 실행되면 각 완료된 명령문의 지속 시간이 기록됩니다. 예를 들어,로 설정하면250ms그러면 250ms 이상 실행되는 모든 SQL 문은 기록됩니다. 이 매개 변수를 활성화하면 응용 프윈 토토램에서 최적화되지 않은 쿼리를 추적하는 데 도움이 될 수 있습니다. 이 값이 단위없이 지정되면 밀리 초로 간주됩니다. 이것을 제로 인쇄물로 설정하면 모든 진술 기간-1(기본값) 로깅 명령문 기간을 비활성화합니다. 적절한 수퍼 유행자 및 사용자 만SET권한은이 설정을 변경할 수 있습니다.
이것은 재정의log_min_duration_sample,이 설정을 초과하는 쿼리는 샘플링이 적용되지 않으며 항상 기록됩니다.
확장 쿼리 프로토콜을 사용하는 클라이언트, 구문 분석 기간, 바인딩 및 실행 단계를 독립적으로 기록합니다.
이 옵션을 함께 사용할 때log_statement, 윈 토토인 한 진술의 텍스트log_statement지속 시간 윈 토토 메시지에서 반복되지 않습니다. 사용하지 않는 경우Syslog, PID 또는 세션 ID를 사용하여를 기록하는 것이 좋습니다.log_line_prefix진술 메시지를 프로세스 ID 또는 세션 ID를 사용하여 이후의 기간 메시지에 연결할 수 있도록
log_min_duration_sample (정수) #최소한 지정된 시간 동안 실행 된 완료된 문의 지속 시간을 샘플링 할 수 있습니다. 이것은와 동일한 종류의 윈 토토 항목을 생성합니다.log_min_duration_statement, 그러나 실행 된 문의 하위 집합에 대해서만 샘플 속도를 제어하여log_statement_sample_rate. 예를 들어,로 설정하면100ms그러면 100ms 이상 실행되는 모든 SQL 문은 샘플링을 위해 고려됩니다. 트래픽이 너무 높아서 모든 쿼리를 기록 할 때이 매개 변수를 활성화하면 도움이 될 수 있습니다. 이 값이 단위없이 지정되면 밀리 초로 간주됩니다. 이것을 제로 샘플로 설정하면 모든 명령문 기간-1(기본값)는 샘플링 명령문 기간을 비활성화합니다. 적절한 수퍼 유행자 및 사용자 만SET권한은이 설정을 변경할 수 있습니다.
이 설정은보다 우선 순위가 낮습니다.log_min_duration_statementlog_min_duration_statement| 샘플링이 적용되지 않으며 항상 기록됩니다.
다른 노트log_min_duration_statement이 설정에도 적용하십시오.
log_statement_sample_rate (플로팅 포인트) #지속 시간을 초과하는 문의 비율을 결정합니다log_min_duration_sample윈 토토인합니다. 예를 들어 샘플링은 확률 론적입니다0.5주어진 진술이 통계적으로 하나의 기회가 있음을 의미합니다. 기본값은1.0, 모든 샘플링 된 명령문을 기록하는 것을 의미합니다. 설정과 동일하게 샘플링 된 명령문 기간 로깅을 비활성화합니다log_min_duration_sampleto-1. 적절한 수퍼 유행자 및 사용자 만SET권한은이 설정을 변경할 수 있습니다.
log_transaction_sample_rate (플로팅 포인트) #다른 이유로 기록 된 진술 외에도 진술이 모두 기록 된 트랜잭션의 일부를 설정합니다. 진술의 지속 시간에 관계없이 각 새로운 거래에 적용됩니다. 예를 들어 샘플링은 확률 론적입니다0.1주어진 트랜잭션이 기록 될 10 개에 통계적으로 한 번의 기회가 있음을 의미합니다.log_transaction_sample_rate거래 샘플을 구성하는 데 도움이 될 수 있습니다. 기본값은0, 추가 거래에서 명세서를 기록하지 않음을 의미합니다. 이것을 설정1모든 트랜잭션의 모든 진술을 기록합니다. 적절한 수퍼 유행자 및 사용자 만SET권한은이 설정을 변경할 수 있습니다.
모든 문장 옵션과 마찬가지로이 옵션은 상당한 오버 헤드를 추가 할 수 있습니다.
log_startup_progress_interval (Integer) #시작 프로세스가 계속 진행중인 장기 실행 작업에 대한 메시지와 해당 작업의 추가 진행 메시지 간격 간격을 기록한 후 시간을 설정합니다. 기본값은 10 초입니다. 설정0기능을 비활성화합니다. 이 값이 단위없이 지정되면 밀리 초로 간주됩니다. 이 설정은 각 작업에 별도로 적용됩니다. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.
예를 들어, 데이터 디렉토리를 동기화하는 데 25 초가 걸린 후 25 초가 걸리면 8 초가 걸리면이 설정이 기본값이 10 초인 경우 10 초 동안 데이터 디렉토리를 동기화하기위한 메시지가 20 초 동안 진행된 후에 다시 윈 토토인되지는 않지만 RESET가 다시 시작되지는 않습니다.
표 19.2PostgreSQL. 로깅 출력이 전송되는 경우Syslog또는 Windows 'EventLog, 심각도 레벨은 표에 표시된대로 번역됩니다.
표 19.2. 메시지 심각도 수준
| 심각도 | usage | Syslog | EventLog |
|---|---|---|---|
Debug1 .. Debug5 |
개발자가 사용할 수있는 연속적으로 더 많은 정보를 제공합니다. | 디버그 |
정보 |
Info |
사용자가 암시 적으로 요청한 정보를 제공합니다 (예 : 출력진공 장점. |
정보 |
정보 |
통지 |
사용자에게 도움이 될 수있는 정보 (예 : 긴 식별자의 잘린 통지)를 제공합니다. | 통지 |
정보 |
경고 |
가능성있는 문제에 대한 경고 (예 :.커밋트랜잭션 블록 외부. |
통지 |
경고 |
오류 |
현재 명령이 중단 된 오류를보고합니다. | 경고 |
오류 |
윈 토토 |
관리자에게 관심있는 정보를보고, 예를 들어 체크 포인트 활동. | info |
정보 |
치명적 |
현재 세션이 중단 된 오류를보고합니다. | err |
오류 |
panic |
모든 데이터베이스 세션이 중단 된 오류를보고합니다. | crit |
오류 |
윈 토토로 선택한 내용은 보안에 영향을 줄 수 있습니다. 보다PostgreSQL : 문서 : 17 : 24.3. 토토 결과 파일 유지 관리.
Application_Name (String) #theApplication_Name|paminatalen문자 (표준 빌드의 64 자). 일반적으로 서버에 연결시 응용 프윈 토토램에 의해 설정됩니다. 이름은에 표시됩니다.pg_stat_activityCSV 윈 토토 항목에 포함되어 있습니다. 또한를 통해 정기 윈 토토 항목에 포함될 수 있습니다.log_line_prefix매개 변수. 인쇄 가능한 ASCII 문자 만 사용될 수 있습니다.Application_Name값. 다른 문자는로 대체됩니다.C 스타일 육각형 탈출.
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_autovacuum_min_duration (정수) #최소한 지정된 시간 동안 실행되면 Autovacuum에 의해 실행 된 각 조치를 기록합니다. 이것을 0 윈 토토로 설정하면 모든 Autovacuum 동작.-1autovacuum 동작을 기록합니다. 이 값이 단위없이 지정되면 밀리 초로 간주됩니다. 예를 들어, 이것을 설정하면250ms그러면 250ms 이상 실행되는 모든 자동 진공 및 분석이 기록됩니다. 또한이 매개 변수가 이외의 값으로 설정된 경우-1, 상충되는 잠금 장치 또는 동시에 삭제 된 관계로 인해 Autovacuum 조치가 건너 뛸 경우 메시지가 기록됩니다. 기본값은10min. 이 매개 변수를 활성화하는 것은 오토바 쿠움 활동을 추적하는 데 도움이 될 수 있습니다. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄; 그러나 테이블 스토리지 매개 변수를 변경하여 개별 테이블에 대해 설정을 무시할 수 있습니다.
log_checkpoints (부울) #서버 윈 토토에 검사 점과 재시작을 윈 토토인합니다. 작성된 버퍼 수와 쓰기 시간을 포함하여 일부 통계는 윈 토토 메시지에 포함됩니다. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에. 기본값이 켜져 있습니다.
log_connections (String) #서버에 대한 각 연결의 측면이 기록되도록합니다. 기본값은 빈 문자열입니다.'', 모든 연결 로깅을 비활성화합니다. 다음 옵션은 단독 또는 쉼표로 구분 된 목록에 지정 될 수 있습니다.
표 19.3. 윈 토토 연결 옵션
| 이름 | 설명 |
|---|---|
영수증 |
연결 수신 윈 토토 |
인증 |
사용자를 식별하기 위해 인증 방법에 사용 된 원래 ID를 기록합니다. 대부분의 경우, Identity String은와 일치합니다.PostgreSQL사용자 이름이지만 일부 타사 인증 방법은 서버가 저장하기 전에 원래 사용자 식별자를 변경할 수 있습니다. 이 설정의 값에 관계없이 실패한 인증이 항상 기록됩니다. |
승인 |
승인의 성공적인 완료를 기록합니다. 이 시점에서 연결이 설정되었지만 백엔드는 아직 완전히 설정되지 않았습니다. 윈 토토 메시지에는 공인 사용자 이름과 해당되는 경우 데이터베이스 이름 및 응용 프윈 토토램 이름이 포함되어 있습니다. |
setup_durations |
연결을 설정하고 연결이 첫 번째 쿼리를 실행할 때까지 백엔드를 설정하는 데 소요되는 시간을 기록합니다. 윈 토토 메시지에는 세 가지 지속 시간이 포함됩니다. 총 설정 지속 시간 (우체국 장에서 시작하여 연결을 수락하고 연결이 쿼리 준비가되었을 때 종료), 새 백엔드를 포크하는 데 걸리는 시간 및 사용자를 인증하는 데 걸리는 시간. |
all |
모든 옵션을 지정하는 것과 동등한 편의 별명. 만약에all다른 옵션 목록에 지정되어 있으면 모든 연결 측면이 기록됩니다. |
단절 로깅은 별도로 제어됩니다log_disconnections.
거꾸로 호환성의 목적으로on, OFF, true, 거짓, 예, 아니오, 1및0여전히 지원됩니다. 양수 값은를 지정하는 것과 같습니다.영수증, 인증및승인옵션.
적절한 수퍼 유행자 및 사용자 만SET권한은 세션 시작 시이 매개 변수를 변경할 수 있으며 세션 내에서 전혀 변경할 수 없습니다.
일부 클라이언트 프윈 토토램, 유사PSQL, 비밀번호가 필요한지 결정하는 동안 두 번 연결하려고 시도하므로 중복“연결 수신”메시지가 반드시 문제를 나타내는 것은 아닙니다.
log_disconcection (부울) #세션 종료를 기록합니다. 윈 토토 출력은와 유사한 정보를 제공합니다.log_connections와 세션 기간. 적절한 수퍼 유행자 및 사용자 만SET권한은 세션 시작 시이 매개 변수를 변경할 수 있으며 세션 내에서 전혀 변경할 수 없습니다. 기본값은OFF.
log_duration (부울) #완성 된 모든 문의 지속 시간이 기록됩니다. 기본값은OFF. 적절한 수퍼 유행자 및 사용자 만SET권한은이 설정을 변경할 수 있습니다.
확장 쿼리 프로토콜을 사용하는 클라이언트, 구문 분석 기간, 바인딩 및 실행 단계를 독립적으로 기록합니다.
활성화의 차이log_duration및 설정log_min_duration_statement~ 0은 초과하는 것입니다log_min_duration_statement쿼리 텍스트가 기록되도록 강요하지만이 옵션은 그렇지 않습니다. 따라서 iflog_durationisonandlog_min_duration_statement양수 값이 있고 모든 지속 시간은 기록되지만 쿼리 텍스트는 임계 값을 초과하는 문에 대해서만 포함됩니다. 이 동작은 고 부하 설치에서 통계를 수집하는 데 유용 할 수 있습니다.
log_error_verbosity (enum) #윈 토토인 된 각 메시지에 대해 서버 윈 토토에 작성된 세부 사항을 제어합니다. 유효한 값은Terse, 기본값및Verbose, 각각 표시된 메시지에 더 많은 필드를 추가합니다.Terse의 벌목 제외세부 사항, 힌트, 쿼리및Context오류 정보.Verbose출력 포함sqlstate오류 코드 (참조PostgreSQL : 문서 : 17 : 부록 A. PostgreSQL 토토 꽁 머니 코드) 및 소스 코드 파일 이름, 함수 이름 및 오류를 생성 한 줄 번호. 적절한 수퍼 유행자 및 사용자 만SET권한은이 설정을 변경할 수 있습니다.
log_hostname (부울) #기본적으로 연결 윈 토토 메시지는 연결 호스트의 IP 주소 만 표시합니다. 이 매개 변수를 켜면 호스트 이름의 로깅도 원인입니다. 호스트 이름 해상도 설정에 따라 무시할 수없는 성능 페널티를 부과 할 수 있습니다. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.
log_line_prefix (String) #이것은 Aprintf-각 윈 토토 라인의 시작 부분에서 출력되는 스타일 문자열.%캐릭터 시작“탈출 시퀀스”아래에 요약 된 상태 정보로 대체됩니다. 인식되지 않은 탈출은 무시됩니다. 다른 문자는 윈 토토 라인에 직접 복사됩니다. 일부 이스케이프는 세션 프로세스에 의해서만 인식되며 기본 서버 프로세스와 같은 백그라운드 프로세스에 의해 비어있는 것으로 취급됩니다. 상태 정보는 % 후 및 옵션 전 및 옵션 이전의 숫자 문자를 지정하여 왼쪽 또는 오른쪽으로 정렬 될 수 있습니다. 음수 값은 공백으로 오른쪽에 상태 정보가 패딩되어 최소 너비를 제공하는 반면, 양수 값은 왼쪽에 패드됩니다. 패딩은 윈 토토 파일의 인간 가독성을 돕는 데 유용 할 수 있습니다.
이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에. 기본값은62899_62911타임 스탬프와 프로세스 ID를 기록하는 어느 것이 있는지
| 탈출 | 효과 | 세션 만 |
|---|---|---|
%a |
응용 프윈 토토램 이름 | 예 |
%U |
사용자 이름 | 예 |
%d |
데이터베이스 이름 | 예 |
%r |
원격 호스트 이름 또는 IP 주소 및 원격 포트 | 예 |
%H |
원격 호스트 이름 또는 IP 주소 | 예 |
%l |
로컬 주소 (클라이언트가 연결된 서버의 IP 주소) | 예 |
%B |
백엔드 유형 | 아니오 |
%p |
프로세스 ID | 아니오 |
%p |
병렬 그룹 리더의 프로세스 ID,이 프로세스가 병렬 쿼리 작업자 인 경우 | 아니오 |
%t |
밀리 초없는 타임 스탬프 | 아니오 |
%m |
밀리 초가있는 타임 스탬프 | 아니오 |
%n |
밀리 초가있는 타임 스탬프 (UNIX 에포크로) | 아니오 |
%I |
명령 태그 : 세션 유형의 현재 명령 | 예 |
%e |
SQLSTATE 오류 코드 | 아니오 |
%C |
세션 ID : 아래 참조 | 아니오 |
%l |
각 세션 또는 프로세스에 대한 윈 토토 라인 수, 1 | 아니오 |
%s |
프로세스 시작 시간 스탬프 | 아니오 |
%V |
가상 트랜잭션 ID (ProcNumber/localXID); 보다PostgreSQL : 문서 : 17 : 66.1. 토토 커뮤니티 및 식별자 | 아니오 |
%x |
트랜잭션 ID (0 할당되지 않은 경우 0); 보다PostgreSQL : 문서 : 17 : 66.1. 토토 커뮤니티 및 식별자 | 아니오 |
%Q |
출력은 없지만,이 시점에서 문자열에서 중지하지 말라고 말합니다. 세션 프로세스로 무시 | 아니오 |
%Q |
현재 쿼리의 쿼리 식별자. 쿼리 식별자는 기본적으로 계산되지 않으므로이 필드는 0이면 0compute_query_id매개 변수가 활성화되어 있거나 쿼리 식별자를 계산하는 타사 모듈이 구성됩니다. | 예 |
%% |
리터럴% |
아니오 |
백엔드 유형은 열에 해당합니다backend_type보기에서pg_stat_activity, 그러나 해당 관점에서는 표시되지 않는 윈 토토에 추가 유형이 나타날 수 있습니다.
the%CEscape는 두 개의 4 바이트 16 진수 숫자 (선행 0이없는)로 구성된 준 유니 퀴크 세션 식별자를 인쇄합니다. 숫자는 프로세스 시작 시간과 프로세스 ID이므로%C해당 항목을 인쇄하는 공간 절약 방법으로도 사용할 수도 있습니다. 예를 들어, 세션 식별자를 생성하려면pg_stat_activity,이 쿼리를 사용하십시오 :
select to_hex (trunc (extract (epoch 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'
the%QEscape는 항상 라인 출력에 대한 제로 식별자를보고log_statement왜냐하면log_statement식별자를 계산할 수없는 잘못된 문을 포함하여 식별자를 계산하기 전에 출력을 생성합니다.
log_lock_waits (부울) #세션이 더 오래 기다릴 때 윈 토토 메시지가 생성되는지Deadlock_timeout자물쇠를 얻으려면. 이것은 잠금 대기가 성능 저하를 유발하는지 여부를 결정하는 데 유용합니다. 기본값은OFF. 적절한 수퍼 유행자 및 사용자 만SET권한은이 설정을 변경할 수 있습니다.
log_lock_failures (부울) #잠금 획득이 실패 할 때 세부 윈 토토 메시지가 생성되는지 여부를 제어합니다. 이것은 잠금 고장의 원인을 분석하는 데 유용합니다. 현재로 인한 고장 만 잠그고 있습니다.nowait 선택지원됩니다. 기본값은OFF. 적절한 수퍼 유행자 및 사용자 만SET권한은이 설정을 변경할 수 있습니다.
log_recovery_conflict_waits (부울) #시작 프로세스가 더 길어질 때 윈 토토 메시지가 생성되는지 여부를 제어합니다Deadlock_timeout복구 충돌의 경우. 이것은 복구 충돌로 인해 복구가 Wal을 적용하는 것을 막는지를 결정하는 데 유용합니다.
기본값은off. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.
log_parameter_max_length (정수) #0보다 크면, 비 에어러 명령문 로깅 메시지로 기록 된 각 바인드 매개 변수 값은이 많은 바이트에 트리 팅됩니다. 제로는 비 에어러 명령문에 대한 바인드 매개 변수의 로깅을 비활성화합니다.-1(기본값)는 바인드 매개 변수를 전체 윈 토토인 할 수 있습니다. 이 값이 단위없이 지정되면 바이트로 사용됩니다. 적절한 수퍼 유행자 및 사용자 만SET권한은이 설정을 변경할 수 있습니다.
이 설정은의 결과로 인쇄 된 윈 토토 메시지에만 영향을 미칩니다.log_statement, log_duration및 관련 설정. 이 설정의 0이 아닌 값이 오버 헤드를 추가하십시오. 특히 파라미터가 이진 형식으로 전송되는 경우 텍스트로 변환이 필요합니다.
log_parameter_max_length_on_error (Integer) #0보다 크면 오류 메시지에보고 된 각 바인드 매개 변수 값 이이 많은 바이트로 트리밍됩니다. 0 (기본값) 오류 메시지에 바인드 매개 변수를 포함하여 비활성화됩니다.-1결합 매개 변수를 전체적으로 인쇄 할 수 있습니다. 이 값이 단위없이 지정되면 바이트로 간주됩니다.
이 설정의 0이 아닌 값 오버 헤드 추가PostgreSQL오류가 발생하는지 여부에 관계없이 각 문의 시작시 메모리에 매개 변수 값의 텍스트 표현을 저장해야합니다. 바인드 매개 변수가 텍스트로 전송 될 때보 다 바인드 파라미터가 이진 형태로 전송 될 때 오버 헤드는 더 큽니다. 전자의 경우는 데이터 변환이 필요하고 후자는 문자열을 복사하면됩니다..
log_statement (enum) #통제 어떤 SQL 문을 기록합니다. 유효한 값은없음(OFF),DDL, mod및all(모든 진술).DDL와 같은 모든 데이터 정의 문장을 기록합니다.생성, Alter및드롭진술.mod모든 윈 토토DDL진술, 그리고와 같은 데이터 수정 문장삽입, 업데이트, 삭제, Truncate및복사. 준비, execute및분석포함 된 명령이 적절한 유형 인 경우 문장도 기록됩니다. 확장 쿼리 프로토콜을 사용하는 클라이언트의 경우 로깅이 실행 메시지를 수신 할 때 발생하며 바인드 매개 변수의 값이 포함됩니다 (임베드 된 단일 쿼트 마크가 두 배로 늘어 됨)..
기본값은입니다.없음. 적절한 수퍼 유행자 및 사용자 만SET권한은이 설정을 변경할 수 있습니다.
간단한 구문 오류가 포함 된 문장은에 의해서도 기록되지 않습니다log_statement = all설정, 윈 토토 메시지는 명령문 유형을 결정하기 위해 기본 구문 분석이 수행 된 후에 만 방출되기 때문에. 확장 쿼리 프로토콜의 경우,이 설정은 마찬가지로 실행 단계 전에 실패하는 문을 기록하지 않습니다 (즉, 구문 분석 또는 계획 중). 세트log_min_error_statementto오류(또는 하단) 그러한 진술을 기록합니다.
윈 토토인 한 명령문은 민감한 데이터를 보여주고 일반 텍스트 암호를 포함 할 수도 있습니다.
log_replication_commands (부울) #각 복제 명령 및를 유발합니다.Walsender서버 윈 토토에 윈 토토인 할 프로세스의 복제 슬롯 획득/릴리스. 보다PostgreSQL : 문서 : 17 : 53.4. 사설 토토 복제 프로토콜복제 명령에 대한 자세한 내용. 기본값은입니다.off. 적절한 수퍼 유행자 및 사용자 만SET권한 이이 설정을 변경할 수 있습니다.
log_temp_files (Integer) #임시 파일 이름 및 크기의 로깅을 제어합니다. 정렬, 해시 및 임시 쿼리 결과에 대해 임시 파일을 작성할 수 있습니다. 이 설정에서 활성화 된 경우 각 임시 파일에 대해 윈 토토 항목이 방출되며 파일 크기가 바이트로 지정된 경우 삭제됩니다. 0의 값은 모든 임시 파일 정보를 윈 토토인 반면, 긍정적 값은 크기가 지정된 데이터 양보다 큰 파일 만 기록합니다. 이 값이 단위없이 지정되면 킬로 바이트로 간주됩니다. 기본 설정은 -1로 이러한 로깅을 비활성화합니다. 적절한 수퍼 유행자 및 사용자 만SET권한은이 설정을 변경할 수 있습니다.
log_timezone (String) #서버 윈 토토에 작성된 타임 스탬프에 사용되는 시간대를 설정합니다. 같지 않은TimeZone,이 값은 클러스터 전체에 있으므로 모든 세션이 일관되게 타임 스탬프를보고합니다. 내장 기본값은입니다.gmt, 그러나 일반적으로postgresql.conf; initdb시스템 환경에 해당하는 설정을 설치합니다. 보다섹션 8.5.3자세한 내용. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.
포함CSVLOGinlog_destinationList는 윈 토토 파일을 데이터베이스 테이블로 가져 오는 편리한 방법을 제공합니다. 이 옵션은 Comma-Separated-values (의 윈 토토 라인을 방출합니다.CSV) 형식,이 열과 함께 : 밀리 초, 사용자 이름, 데이터베이스 이름, 프로세스 ID, 클라이언트 호스트 : 포트 번호, 세션 ID, 세션 당 선 번호, 명령 태그, 세션 시작 시간, 가상 트랜잭션 ID, 일반 트랜잭션 ID, 오류 심각도, 오류 메시지, 힌트가 오류가 발생한 내부 query (오류가 발생) 오류 컨텍스트, 오류로 이어진 사용자 쿼리 (에 오류가 발생한 사용자 쿼리log_min_error_statement), 여기에 오류 위치의 문자 수, PostgreSQL 소스 코드의 오류 위치 (iflog_error_verbosity로 설정되었습니다Verbose), 응용 프윈 토토램 이름, 백엔드 유형, 병렬 그룹 리더의 프로세스 ID 및 쿼리 ID. 다음은 CSV 형식 윈 토토 출력 저장을위한 샘플 테이블 정의입니다.
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 텍스트, backend_type 텍스트, leader_pid 정수, query_id bigint, 기본 키 (session_id, session_line_num) );
이 테이블에 윈 토토 파일을 가져 오려면 사용하십시오.복사명령 :
csv를 사용하여 '/full/path/to/logfile.csv'에서 postgres_log 복사;
제공된 것을 사용하여 파일에 외부 테이블로 파일에 액세스 할 수도 있습니다file_fdw모듈.
CSV 윈 토토 파일 가져 오기를 단순화하기 위해해야 할 일이 몇 가지 있습니다 :
setlog_filename및log_rotation_age윈 토토 파일에 일관되고 예측 가능한 이름 지정 체계를 제공합니다. 이를 통해 파일 이름이 무엇인지 예측하고 개별 윈 토토 파일이 완료되어 가져올 준비가 된시기를 알 수 있습니다.
SETlog_rotation_size윈 토토 파일 이름을 예측하기 어렵게 만들기 때문에 크기 기반 윈 토토 회전을 비활성화하려면
SETlog_truncate_on_rotationtoon기존 윈 토토 데이터가 같은 파일의 새 새와 혼합되지 않도록하십시오.
위의 표 정의에는 기본 키 사양이 포함됩니다. 이것은 실수로 동일한 정보를 두 번 가져 오지 않도록 보호하는 데 유용합니다. 그만큼copy명령은 한 번에 가져 오는 모든 데이터를 한 번에 저장하므로 오류로 인해 전체 가져 오기가 실패하게됩니다. 부분 윈 토토 파일을 가져오고 나중에 파일이 완료되면 파일을 다시 가져 오면 기본 키 위반으로 인해 가져 오기가 실패합니다. 가져 오기 전에 윈 토토가 완료되고 닫힐 때까지 기다리십시오. 이 절차는 또한 완전히 작성되지 않은 부분 선을 실수로 가져 오는 것을 방지 할 수 있습니다.COPY실패합니다.
포함JSONLOGinlog_destinationList는 윈 토토 파일을 여러 다른 프윈 토토램으로 가져 오는 편리한 방법을 제공합니다. 이 옵션은 윈 토토 라인을 방출합니다JSON형식.
널 값을 가진 문자열 필드는 출력에서 제외됩니다. 향후 추가 필드가 추가 될 수 있습니다. 프로세스하는 사용자 애플리케이션JSONLOG출력은 알 수없는 필드를 무시해야합니다.
각 윈 토토 라인은 키 세트와 관련 값이있는 JSON 객체로 직렬화됩니다.표 19.4.
표 19.4. JSON 윈 토토 항목의 키 및 값
| 키 이름 | 타입 | 설명 |
|---|---|---|
타임 스탬프 |
String | 밀리 초가있는 타임 스탬프 |
사용자 |
String | 사용자 이름 |
dbname |
String | 데이터베이스 이름 |
PID |
번호 | 프로세스 ID |
Remote_host |
String | 클라이언트 호스트 |
Remote_port |
번호 | 클라이언트 포트 |
session_id |
String | 세션 ID |
line_num |
번호 | 세션 당 줄 번호 |
PS |
String | 현재 PS 디스플레이 |
session_start |
String | 세션 시작 시간 |
VXID |
String | 가상 트랜잭션 ID |
TXID |
String | 정규 거래 ID |
ERROR_SEVERITY |
String | 오류 심각도 |
state_code |
String | SQLSTATE CODE |
메시지 |
String | 오류 메시지 |
세부 사항 |
String | 오류 메시지 세부 사항 |
힌트 |
String | 오류 메시지 힌트 |
Internal_Query |
String | 오류로 이어진 내부 쿼리 |
내부_Position |
번호 | 커서 인덱스 내부 쿼리 |
Context |
String | 오류 컨텍스트 |
성명서 |
String | 클라이언트 지원 쿼리 문자열 |
cursor_position |
번호 | 쿼리 문자열에 커서 색인 |
func_name |
String | 오류 위치 함수 이름 |
file_name |
String | 오류 위치의 파일 이름 |
file_line_num |
번호 | 오류 위치의 파일 줄 번호 |
application_name |
String | 클라이언트 응용 프윈 토토램 이름 |
backend_type |
String | 백엔드 유형 |
leader_pid |
번호 | 활동적인 병렬 근로자를위한 리더의 프로세스 ID |
query_id |
번호 | 쿼리 ID |
이 설정은 서버 프로세스의 프로세스 제목을 수정하는 방법을 제어합니다. 프로세스 타이틀은 일반적으로와 같은 프윈 토토램을 사용하여 봅니다.PS또는 Windows에서프로세스 탐색기. 보다롤 토토 PostgreSQL : 문서 : 17 : 27.1. 표준 유닉스 도구자세한 내용.
cluster_name (String) #이 데이터베이스 클러스터 (인스턴스)를 다양한 목적으로 식별하는 이름을 설정합니다. 클러스터 이름은이 클러스터의 모든 서버 프로세스의 프로세스 제목에 나타납니다. 또한 대기 연결의 기본 응용 프윈 토토램 이름입니다 (참조synchronous_standby_names).
이름은 어떤 문자열이 될 수 있습니다paminatalen문자 (표준 빌드의 64 자). 인쇄 가능한 ASCII 문자 만 사용될 수 있습니다.cluster_name값. 다른 문자는로 대체됩니다.C 스타일의 16 진수 탈출. 이 매개 변수가 빈 문자열로 설정된 경우 이름이 표시되지 않습니다''(기본값). 이 매개 변수는 서버 시작에서만 설정할 수 있습니다.
update_process_title (부울) #서버에서 새 SQL 명령을 수신 할 때마다 프로세스 제목을 업데이트 할 수 있습니다. 이 설정 기본값on대부분의 플랫폼에서는 기본값OFFWindows에서 해당 플랫폼의 프로세스 제목을 업데이트하기위한 더 큰 오버 헤드로 인해. 적절한 수퍼 유행자 및 사용자 만SET권한 이이 설정을 변경할 수 있습니다.
올바르지 않은 문서에 아무것도 표시되면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면