log_destination (문자열) #PostgreSQL다음을 포함하여 서버 메시지를 기록하는 여러 방법을 지원합니다.stderr, csvlog, jsonlog및syslog. 윈도우에서는,이벤트사설 토토또한 지원됩니다. 이 매개변수를 쉼표로 구분된 원하는 사설 토토 대상 목록으로 설정하십시오. 기본값은 다음에 사설 토토인하는 것입니다.stderr전용. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.
만약csvlog다음에 포함됨log_destination, 사설 토토 항목은 다음 위치에 출력됩니다.“쉼표로 구분된 값” (CSV) 형식으로, 프사설 토토램에 사설 토토를 로드하는 데 편리합니다. 보다섹션 19.8.4자세한 내용은.logging_collectorCSV 형식 사설 토토 출력을 생성하려면 활성화되어야 합니다.
만약jsonlog다음에 포함됨log_destination, 사설 토토 항목은에 출력됩니다.JSON형식으로, 프사설 토토램에 사설 토토를 로드하는 데 편리합니다. 보다섹션 19.8.5자세한 내용은.logging_collectorJSON 형식 사설 토토 출력을 생성하려면 활성화되어야 합니다.
둘 중 하나일 때stderr, csvlog또는jsonlog포함되어 있습니다. 파일현재_사설 토토파일은 로깅 수집기 및 관련 로깅 대상에서 현재 사용 중인 사설 토토 파일의 위치를 기록하기 위해 생성됩니다. 이는 현재 인스턴스에서 사용 중인 사설 토토를 찾는 편리한 방법을 제공합니다. 다음은 이 파일 내용의 예입니다.
stderr 사설 토토/postgresql.log csvlog 사설 토토/postgresql.csv jsonlog 사설 토토/postgresql.json
현재_사설 토토파일회전의 영향으로 새 사설 토토 파일이 생성될 때와 다음의 경우에 다시 생성됩니다.log_destination다시 로드됩니다. 다음 중 어느 것도 없으면 제거됩니다.stderr, csvlog또는jsonlog다음에 포함됨log_destination및 로깅 수집기가 비활성화된 경우.
대부분의 Unix 시스템에서는 시스템 구성을 변경해야 합니다.syslog데몬을 사용하기 위해syslog옵션log_destination. PostgreSQL사설 토토인 가능syslog시설LOCAL0통해LOCAL7(참조syslog_facility), 그러나 기본값syslog대부분의 플랫폼 구성에서는 이러한 메시지가 모두 삭제됩니다. 다음과 같은 내용을 추가해야 합니다.
local0.* /var/log/postgresql
에syslog데몬의 구성 파일이 작동하도록 합니다.
Windows에서 다음을 사용할 때이벤트사설 토토옵션log_destination, Windows 이벤트 뷰어가 이벤트 사설 토토 메시지를 깔끔하게 표시할 수 있도록 운영 체제에 이벤트 소스와 해당 라이브러리를 등록해야 합니다. 보다PostgreSQL : 문서 : 17 : 18.12. 스포츠 토토 베트맨 로그 등록 Windows자세한 내용은.
logging_collector (부울) #이 매개변수는 다음을 활성화합니다.로깅 수집기은(는) 전송된 사설 토토 메시지를 캡처하는 백그라운드 프로세스입니다.stderr그리고 이를 사설 토토 파일로 리디렉션합니다. 이 접근 방식은 사설 토토인하는 것보다 더 유용한 경우가 많습니다.syslog, 일부 유형의 메시지는 표시되지 않을 수 있으므로syslog출력. (한 가지 일반적인 예는 동적 링커 실패 메시지이고 다른 하나는 다음과 같은 스크립트에서 생성된 오류 메시지입니다.archive_command.) 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.
다음에 사설 토토인할 수 있습니다.stderr로깅 수집기를 사용하지 않고; 사설 토토 메시지는 서버가 있는 곳이면 어디든 이동합니다.stderr지시됩니다. 그러나 이 방법은 사설 토토 파일을 회전하는 편리한 방법을 제공하지 않으므로 사설 토토 볼륨이 적은 경우에만 적합합니다. 또한 로깅 수집기를 사용하지 않는 일부 플랫폼에서는 동일한 사설 토토 파일에 동시에 쓰는 여러 프로세스가 서로의 출력을 덮어쓸 수 있으므로 사설 토토 출력이 손실되거나 왜곡될 수 있습니다.
로깅 수집기는 메시지를 절대 잃지 않도록 설계되었습니다. 이는 로드가 극도로 높은 경우 수집기가 뒤쳐지면 추가 사설 토토 메시지를 보내려고 시도하는 동안 서버 프로세스가 차단될 수 있음을 의미합니다. 대조적으로,syslog메시지를 쓸 수 없는 경우 삭제하는 것을 선호합니다. 즉, 이러한 경우 일부 메시지를 기록하지 못할 수 있지만 시스템의 나머지 부분을 차단하지는 않습니다.
log_directory (문자열) #언제logging_collector이 활성화되면 이 매개변수는 사설 토토 파일이 생성될 디렉터리를 결정합니다. 절대 경로로 지정하거나 클러스터 데이터 디렉터리에 대한 상대 경로로 지정할 수 있습니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서. 기본값은사설 토토.
log_filename (문자열) #언제logging_collector이 활성화되면 이 매개변수는 생성된 사설 토토 파일의 파일 이름을 설정합니다. 값은 다음과 같이 처리됩니다.strftime패턴, 그래서%-escapes는 시간에 따라 변하는 파일 이름을 지정하는 데 사용될 수 있습니다. (시간대에 따라 달라지는 경우 참고하세요.%-이스케이프, 계산은 다음에 의해 지정된 영역에서 수행됩니다.log_timezone.) 지원되는%-이스케이프는 Open Group의 목록에 나열된 것과 유사합니다.strftime사양. 시스템의strftime는 직접 사용되지 않으므로 플랫폼별(비표준) 확장이 작동하지 않습니다. 기본값은postgresql-%Y-%m-%d_%H%M%S.log.
이스케이프 없이 파일 이름을 지정하는 경우 사설 토토 회전 유틸리티를 사용하여 결국 전체 디스크가 채워지는 것을 방지해야 합니다. 8.4 이전 릴리스에서 그렇지 않은 경우%탈출이 존재했습니다.포스트그레SQL새 사설 토토 파일 생성 시간의 에포크를 추가하지만 더 이상 그렇지 않습니다.
CSV 형식 출력이 활성화된 경우log_destination, .csv은 CSV 형식 출력을 위한 파일 이름을 생성하기 위해 타임스탬프가 있는 사설 토토 파일 이름에 추가됩니다. (만약에log_filename다음으로 끝남.log, 대신 접미사가 대체됩니다.)
JSON 형식 출력이 활성화된 경우log_destination, .json는 JSON 형식 출력을 위한 파일 이름을 생성하기 위해 타임스탬프가 있는 사설 토토 파일 이름에 추가됩니다. (만약에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이 활성화되면 이 매개변수는 개별 사설 토토 파일을 사용할 최대 시간을 결정하며 그 이후에는 새 사설 토토 파일이 생성됩니다. 이 값을 단위 없이 지정하면 분으로 간주됩니다. 기본값은 24시간입니다. 새 사설 토토 파일의 시간 기반 생성을 비활성화하려면 0으로 설정합니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.
log_rotation_size (정수) #언제logging_collector이 활성화되면 이 매개변수는 개별 사설 토토 파일의 최대 크기를 결정합니다. 이 양의 데이터가 사설 토토 파일로 내보내지면 새 사설 토토 파일이 생성됩니다. 이 값을 단위 없이 지정하면 킬로바이트로 간주됩니다. 기본값은 10MB입니다. 새 사설 토토 파일의 크기 기반 생성을 비활성화하려면 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_age에1440.
예: 24시간 동안 사설 토토를 보관하려면 시간당 하나의 사설 토토 파일을 보관하지만 사설 토토 파일 크기가 1GB를 초과하는 경우 더 빨리 순환하려면 설정사설 토토_파일이름에서버_사설 토토.%H%M, log_truncate_on_rotation에켜짐, log_rotation_age에60및log_rotation_size에1000000. 포함%M에사설 토토_파일이름시간의 초기 파일 이름과 다른 파일 이름을 선택하기 위해 발생할 수 있는 크기 기반 회전을 허용합니다.
syslog_facility (열거형) #사설 토토인할 때syslog이 활성화되면 이 매개변수는syslog “시설”사용됩니다. 다음 중에서 선택할 수 있습니다.로컬0, 로컬1, 로컬2, 로컬3, 로컬4, LOCAL5, LOCAL6, LOCAL7; 기본값은로컬0. 시스템 설명서도 참조하세요.syslog데몬. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.
syslog_ident (문자열) #사설 토토인할 때syslog활성화되면 이 매개변수는 식별에 사용되는 프사설 토토램 이름을 결정합니다.PostgreSQL메시지syslog사설 토토. 기본값은포스트그레. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.
syslog_sequence_numbers (부울) #사설 토토인할 때syslog이것은 켜져 있습니다(기본값). 그러면 각 메시지 앞에는 증가하는 시퀀스 번호가 붙습니다(예:[2]). 이는 다음을 우회합니다.“--- 마지막 메시지가 N번 반복됨 ---”많은 syslog 구현이 기본적으로 수행하는 억제입니다. 보다 현대적인 syslog 구현에서는 반복되는 메시지 억제를 구성할 수 있습니다(예:$RepeatedMsgReductioninrsyslog), 따라서 이것이 필요하지 않을 수도 있습니다. 또한 실제로 반복되는 메시지를 표시하지 않으려면 이 기능을 끌 수도 있습니다.
이 매개변수는 다음에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.
syslog_split_messages (부울) #사설 토토인할 때syslog이 활성화되면 이 매개변수는 메시지가 syslog에 전달되는 방식을 결정합니다. 켜져 있으면(기본값) 메시지가 줄별로 분할되고 긴 줄은 기존 syslog 구현의 일반적인 크기 제한인 1024바이트에 맞도록 분할됩니다. 끄면 PostgreSQL 서버 사설 토토 메시지는 있는 그대로 syslog 서비스에 전달되며 잠재적으로 용량이 큰 메시지를 처리하는 것은 syslog 서비스에 달려 있습니다.
syslog가 궁극적으로 텍스트 파일에 기록하는 경우 효과는 어느 쪽이든 동일하며 설정을 켜두는 것이 가장 좋습니다. 왜냐하면 대부분의 syslog 구현은 대용량 메시지를 처리할 수 없거나 이를 처리하도록 특별히 구성해야 하기 때문입니다. 그러나 syslog가 궁극적으로 다른 매체에 기록하는 경우 메시지를 논리적으로 함께 유지하는 것이 필요하거나 더 유용할 수 있습니다.
이 매개변수는 다음에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.
이벤트_소스 (문자열) #사설 토토인할 때이벤트 사설 토토이 활성화되면 이 매개변수는 식별에 사용되는 프사설 토토램 이름을 결정합니다.PostgreSQL사설 토토의 메시지. 기본값은PostgreSQL. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.
log_min_messages (열거형) #어느 것을 제어메시지 수준서버 사설 토토에 기록됩니다. 유효한 값은 다음과 같습니다.디버그5, 디버그4, 디버그3, 디버그2, 디버그1, 정보, 공지, 경고, 오류, 사설 토토, 치명적및패닉. 각 레벨에는 그에 따르는 모든 레벨이 포함됩니다. 수준이 높아질수록 사설 토토에 전송되는 메시지 수가 줄어듭니다. 기본값은경고. 참고하세요사설 토토여기는 여기와 순위가 다릅니다client_min_messages. 적절한 권한을 가진 수퍼유저 및 사용자만SET권한은 이 설정을 변경할 수 있습니다.
log_min_error_statement (열거형) #오류 조건을 발생시키는 SQL 문이 서버 사설 토토에 기록되는 것을 제어합니다. 현재 SQL 문은 지정된 메시지의 사설 토토 항목에 포함됩니다.심각도이상. 유효한 값은 다음과 같습니다.디버그5, 디버그4, 디버그3, 디버그2, 디버그1, 정보, 공지, 경고, 오류, 사설 토토, 치명적및패닉. 기본값은오류은 오류, 사설 토토 메시지, 치명적인 오류 또는 패닉을 유발하는 명령문이 기록된다는 의미입니다. 실패한 명령문의 로깅을 효과적으로 끄려면 이 매개변수를 다음으로 설정하십시오.패닉. 적절한 권한을 가진 수퍼유저 및 사용자만SET권한으로 이 설정을 변경할 수 있습니다.
log_min_duration_statement (정수) #문이 최소한 지정된 시간 동안 실행된 경우 완료된 각 문의 기간이 기록되도록 합니다. 예를 들어, 다음과 같이 설정하면250ms그러면 250ms 이상 실행되는 모든 SQL 문이 기록됩니다. 이 매개변수를 활성화하면 애플리케이션에서 최적화되지 않은 쿼리를 추적하는 데 도움이 될 수 있습니다. 이 값을 단위 없이 지정하면 밀리초로 간주됩니다. 0으로 설정하면 모든 문 기간이 인쇄됩니다.-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 문이 샘플링 대상으로 간주됩니다. 이 매개변수를 활성화하면 트래픽이 너무 높아서 모든 쿼리를 기록할 수 없을 때 도움이 될 수 있습니다. 이 값을 단위 없이 지정하면 밀리초로 간주됩니다. 0으로 설정하면 모든 문 기간이 샘플링됩니다.-1(기본값)은 샘플링 문 기간을 비활성화합니다. 적절한 권한을 가진 수퍼유저 및 사용자만SET권한으로 이 설정을 변경할 수 있습니다.
이 설정은 다음보다 우선순위가 낮습니다.log_min_duration_statement, 즉 기간이 다음을 초과하는 명령문을 의미합니다.log_min_duration_statement샘플링 대상이 아니며 항상 기록됩니다.
기타 참고사항log_min_duration_statement이 설정에도 적용됩니다.
log_statement_sample_rate (부동 소수점) #기간을 초과하는 문의 부분을 결정합니다.log_min_duration_sample기록될 것입니다. 예를 들어 샘플링은 확률론적입니다.0.5통계적으로 특정 진술이 기록될 확률이 2분의 1이라는 의미입니다. 기본값은1.0, 샘플링된 모든 문을 기록한다는 의미입니다. 이를 0으로 설정하면 설정과 동일하게 샘플링된 명령문 기간 로깅이 비활성화됩니다.log_min_duration_sample에-1. 적절한 권한을 가진 수퍼유저 및 사용자만SET권한으로 이 설정을 변경할 수 있습니다.
log_transaction_sample_rate (부동 소수점) #다른 이유로 기록된 명령문 외에 모든 명령문이 기록된 트랜잭션의 비율을 설정합니다. 이는 명세서의 기간에 관계없이 각각의 새로운 거래에 적용됩니다. 예를 들어 샘플링은 확률론적입니다.0.1특정 거래가 기록될 가능성이 통계적으로 10분의 1이라는 의미입니다.log_transaction_sample_rate트랜잭션 샘플을 구성하는 데 도움이 될 수 있습니다. 기본값은0, 추가 트랜잭션의 명령문을 기록하지 않음을 의미합니다. 이것을 다음과 같이 설정합니다.1모든 거래의 모든 내용을 기록합니다. 적절한 권한을 가진 수퍼유저 및 사용자만SET권한으로 이 설정을 변경할 수 있습니다.
모든 명령문 로깅 옵션과 마찬가지로 이 옵션도 상당한 오버헤드를 추가할 수 있습니다.
log_startup_progress_interval (정수) #시작 프로세스가 아직 진행 중인 장기 실행 작업에 대한 메시지를 기록할 때까지의 시간과 해당 작업에 대한 추가 진행 메시지 사이의 간격을 설정합니다. 기본값은 10초입니다. 설정은0기능을 비활성화합니다. 이 값을 단위 없이 지정하면 밀리초로 간주됩니다. 이 설정은 각 작업에 별도로 적용됩니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.
예를 들어, 데이터 디렉터리 동기화에 25초가 걸리고 그 후 기록되지 않은 관계를 재설정하는 데 8초가 걸리고 이 설정의 기본값이 10초인 경우 데이터 디렉터리 동기화가 10초 동안 진행된 후와 20초 동안 진행된 후에 다시 메시지가 기록되지만 기록되지 않은 관계를 재설정하는 데는 아무것도 기록되지 않습니다.
표 19.2에서 사용하는 메시지 심각도 수준을 설명합니다.PostgreSQL. 로깅 출력이 다음으로 전송되는 경우syslog또는 Windows'이벤트사설 토토, 심각도 수준은 표에 표시된 대로 변환됩니다.
표 19.2. 메시지 심각도 수준
| 심각도 | 사용법 | syslog | 이벤트사설 토토 |
|---|---|---|---|
디버그1 .. 디버그5 |
개발자가 사용할 수 있도록 연속적으로 더 자세한 정보를 제공합니다. | 디버그 |
정보 |
정보 |
사용자가 암시적으로 요청한 정보 제공(예: 다음의 출력)진공 장황함. |
정보 |
정보 |
공지 |
사용자에게 도움이 될 수 있는 정보를 제공합니다(예: 긴 식별자의 잘림 알림). | 공지 |
정보 |
경고 |
발생할 수 있는 문제에 대한 경고를 제공합니다. 예:커밋트랜잭션 블록 외부. |
공지 |
경고 |
오류 |
현재 명령을 중단시키는 오류를 보고합니다. | 경고 |
오류 |
사설 토토 |
관리자에게 관심 있는 정보(예: 체크포인트 활동)를 보고합니다. | 정보 |
정보 |
치명적 |
현재 세션을 중단시키는 오류를 보고합니다. | ERR |
오류 |
패닉 |
모든 데이터베이스 세션을 중단시키는 오류를 보고합니다. | 크리티컬 |
오류 |
기록하기로 선택한 내용은 보안에 영향을 미칠 수 있습니다. 보다PostgreSQL : 문서 : 17 : 24.3. 메이저 토토 사이트 파일 유지 관리.
응용프사설 토토램_이름 (문자열) #그응용프사설 토토램_이름보다 작은 문자열일 수 있습니다.NAMEDATALEN문자(표준 빌드에서는 64자). 일반적으로 서버에 연결할 때 애플리케이션에 의해 설정됩니다. 이름은에 표시됩니다.pg_stat_activityCSV 사설 토토 항목을 보고 포함합니다. 또한 다음을 통해 일반 사설 토토 항목에 포함될 수도 있습니다.log_line_prefix매개변수. 에는 인쇄 가능한 ASCII 문자만 사용할 수 있습니다.응용프사설 토토램_이름값. 다른 문자는 다음으로 대체됩니다.C 스타일 16진수 이스케이프.
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_autovacuum_min_duration (정수) #autovacuum에 의해 실행된 각 작업이 최소한 지정된 시간 동안 실행된 경우 기록되도록 합니다. 이를 0으로 설정하면 모든 autovacuum 작업이 기록됩니다.-1자동 진공 작업 기록을 비활성화합니다. 이 값을 단위 없이 지정하면 밀리초로 간주됩니다. 예를 들어, 이것을로 설정하면250ms그러면 250ms 이상 실행되는 모든 자동 진공 및 분석이 기록됩니다. 또한 이 매개변수가 이외의 값으로 설정된 경우-1, 충돌하는 잠금 또는 동시에 삭제된 관계로 인해 autovacuum 작업을 건너뛰면 메시지가 기록됩니다. 기본값은10분. 이 매개변수를 활성화하면 autovacuum 활동을 추적하는 데 도움이 될 수 있습니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서; 그러나 테이블 저장소 매개변수를 변경하여 개별 테이블에 대한 설정을 재정의할 수 있습니다.
log_checkpoints (부울) #체크포인트와 재시작포인트가 서버 사설 토토에 기록되도록 합니다. 작성된 버퍼 수 및 버퍼 작성에 소요된 시간을 포함하여 일부 통계가 사설 토토 메시지에 포함됩니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서. 기본값은 켜져 있습니다.
log_connections (부울) #서버에 대한 각 연결 시도가 기록되도록 하며 클라이언트 인증(필요한 경우) 및 승인이 모두 성공적으로 완료되도록 합니다. 적절한 권한을 가진 수퍼유저 및 사용자만SET권한은 세션 시작 시 이 매개변수를 변경할 수 있으며 세션 내에서는 전혀 변경할 수 없습니다. 기본값은꺼짐.
다음과 같은 일부 클라이언트 프사설 토토램psql, 비밀번호가 필요한지 확인하는 동안 두 번 연결을 시도하므로 중복됩니다.“연결 수신됨”메시지가 반드시 문제를 나타내는 것은 아닙니다.
log_disconnections (부울) #세션 종료가 기록되도록 합니다. 사설 토토 출력은 다음과 유사한 정보를 제공합니다.log_connections및 세션 기간. 적절한 권한을 가진 수퍼유저 및 사용자만SET권한은 세션 시작 시 이 매개변수를 변경할 수 있으며 세션 내에서는 전혀 변경할 수 없습니다. 기본값은꺼짐.
log_duration (부울) #모든 완료된 명령문의 지속 시간이 기록됩니다. 기본값은꺼짐. 적절한 권한을 가진 수퍼유저 및 사용자만SET권한으로 이 설정을 변경할 수 있습니다.
확장 쿼리 프로토콜을 사용하는 클라이언트의 경우 구문 분석, 바인딩 및 실행 단계의 기간이 독립적으로 기록됩니다.
활성화의 차이점log_duration및 설정log_min_duration_statement0으로 초과하는 것은log_min_duration_statement쿼리 텍스트를 강제로 기록하지만 이 옵션은 그렇지 않습니다. 따라서 만일log_durationis켜짐그리고log_min_duration_statement에 양수 값이 있으면 모든 기간이 기록되지만 쿼리 텍스트는 임계값을 초과하는 문에 대해서만 포함됩니다. 이 동작은 로드가 많은 설치에서 통계를 수집하는 데 유용할 수 있습니다.
log_error_verbosity (열거형) #기록된 각 메시지에 대해 서버 사설 토토에 기록되는 세부사항의 양을 제어합니다. 유효한 값은 다음과 같습니다.TERSE, 기본값및상세, 각각 표시되는 메시지에 더 많은 필드를 추가합니다.TERSE다음의 로깅을 제외합니다세부사항, 힌트, 질문및컨텍스트오류 정보.상세출력에는 다음이 포함됩니다.SQLSTATE오류 코드(참조PostgreSQL : 문서 : 17 : 부록 A. PostgreSQL 메이저 토토 사이트 코드) 및 오류를 생성한 소스 코드 파일 이름, 함수 이름 및 줄 번호입니다. 적절한 권한을 가진 수퍼유저 및 사용자만SET권한으로 이 설정을 변경할 수 있습니다.
사설 토토_호스트 이름 (부울) #기본적으로 연결 사설 토토 메시지는 연결 호스트의 IP 주소만 표시합니다. 이 매개변수를 켜면 호스트 이름도 기록됩니다. 호스트 이름 확인 설정에 따라 이는 무시할 수 없는 성능 저하를 초래할 수 있습니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.
log_line_prefix (문자열) #이것은printf-각 사설 토토 줄의 시작 부분에 출력되는 스타일 문자열입니다.%문자 시작“이스케이프 시퀀스”아래 설명된 상태 정보로 대체됩니다. 인식할 수 없는 이스케이프는 무시됩니다. 다른 문자는 사설 토토 라인에 바로 복사됩니다. 일부 이스케이프는 세션 프로세스에서만 인식되며 주 서버 프로세스와 같은 백그라운드 프로세스에서는 비어 있는 것으로 처리됩니다. 상태 정보는 % 뒤와 옵션 앞에 숫자 리터럴을 지정하여 왼쪽이나 오른쪽으로 정렬할 수 있습니다. 음수 값을 사용하면 상태 정보의 오른쪽이 공백으로 채워져 최소 너비를 제공하는 반면, 양수 값은 왼쪽이 채워집니다. 패딩은 사설 토토 파일에서 사람의 가독성을 높이는 데 유용할 수 있습니다.
이 매개변수는 다음에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서. 기본값은'%m [%p] '타임스탬프와 프로세스 ID를 기록합니다.
| 탈출 | 효과 | 세션 전용 |
|---|---|---|
%a |
애플리케이션 이름 | 예 |
%u |
사용자 이름 | 예 |
%d |
데이터베이스 이름 | 예 |
%r |
원격 호스트 이름 또는 IP 주소 및 원격 포트 | 예 |
%h |
원격 호스트 이름 또는 IP 주소 | 예 |
%b |
백엔드 유형 | 아니요 |
%p |
프로세스 ID | 아니요 |
%P |
이 프로세스가 병렬 쿼리 작업자인 경우 병렬 그룹 리더의 프로세스 ID | 아니요 |
%t |
밀리초가 없는 타임스탬프 | 아니요 |
%m |
밀리초 단위의 타임스탬프 | 아니요 |
%n |
밀리초 단위의 타임스탬프(Unix epoch) | 아니요 |
%i |
명령 태그: 세션의 현재 명령 유형 | 예 |
%e |
SQLSTATE 오류 코드 | 아니요 |
%c |
세션 ID: 아래 참조 | 아니요 |
%l |
각 세션 또는 프로세스에 대한 사설 토토 줄 수, 1부터 시작함 | 아니요 |
%s |
프로세스 시작 타임스탬프 | 아니요 |
%v |
가상 거래 ID(procNumber/localXID); 보다PostgreSQL : 문서 : 17 : 66.1. 와이즈 토토 및 식별자 | 아니요 |
%x |
트랜잭션 ID(아무 것도 할당되지 않은 경우 0); 보다PostgreSQL : 문서 : 17 : 66.1. 와이즈 토토 및 식별자 | 아니요 |
%q |
출력을 생성하지 않지만 비세션 프로세스가 문자열의 이 지점에서 중지하도록 지시합니다. 세션 프로세스에서 무시됨 | 아니요 |
%Q |
현재 쿼리의 쿼리 식별자입니다. 쿼리 식별자는 기본적으로 계산되지 않으므로 다음을 제외하면 이 필드는 0이 됩니다.compute_query_id매개변수가 활성화되었거나 쿼리 식별자를 계산하는 타사 모듈이 구성되었습니다. | 예 |
%% |
리터럴% |
아니요 |
백엔드 유형이 열에 해당합니다.백엔드_유형뷰에서pg_stat_activity, 그러나 해당 보기에는 표시되지 않는 추가 유형이 사설 토토에 나타날 수 있습니다.
그%cescape는 점으로 구분된 두 개의 4바이트 16진수(앞에 0이 없음)로 구성된 준고유 세션 식별자를 인쇄합니다. 숫자는 프로세스 시작 시간과 프로세스 ID이므로%c또한 해당 항목을 인쇄하는 공간 절약 방법으로도 사용할 수 있습니다. 예를 들어, 다음에서 세션 식별자를 생성하려면pg_stat_activity, 다음 쿼리를 사용하세요:
SELECT to_hex(trunc(EXTRACT(EPOCH FROM backend_start))::integer) || '.' ||
to_hex(pid)
pg_stat_activity에서;
다음에 대해 비어 있지 않은 값을 설정한 경우log_line_prefix, 일반적으로 마지막 문자를 공백으로 만들어 나머지 사설 토토 줄과 시각적으로 구분해야 합니다. 구두점 문자도 사용할 수 있습니다.
시스사설 토토자체 타임스탬프와 프로세스 ID 정보를 생성하므로 사설 토토인하는 경우 해당 이스케이프를 포함하고 싶지 않을 것입니다.syslog.
그%qescape는 사용자 또는 데이터베이스 이름과 같은 세션(백엔드) 컨텍스트에서만 사용할 수 있는 정보를 포함할 때 유용합니다. 예를 들어:
log_line_prefix = '%m [%p] %q%u@%d/%a '
그%Qescape는 항상 다음에 의해 출력된 행에 대해 0 식별자를 보고합니다.log_statement왜냐하면log_statement식별자를 계산할 수 없는 잘못된 문을 포함하여 식별자를 계산하기 전에 출력을 생성합니다.
log_lock_waits (부울) #세션이 다음보다 오래 기다릴 때 사설 토토 메시지 생성 여부를 제어합니다.deadlock_timeout잠금을 획득합니다. 이는 잠금 대기로 인해 성능 저하가 발생하는지 확인하는 데 유용합니다. 기본값은꺼짐. 적절한 권한을 가진 수퍼유저 및 사용자만세트권한으로 이 설정을 변경할 수 있습니다.
log_recovery_contribute_waits (부울) #시작 프로세스가 다음보다 오래 기다릴 때 사설 토토 메시지 생성 여부를 제어합니다.deadlock_timeout복구 충돌의 경우. 이는 복구 충돌로 인해 복구 시 WAL이 적용되지 않는지 확인하는 데 유용합니다.
기본값은꺼짐. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.
log_parameter_max_length (정수) #0보다 큰 경우 오류가 아닌 명령문 로깅 메시지와 함께 기록된 각 바인드 매개변수 값은 이 바이트 수로 잘립니다. 0은 오류가 아닌 명령문 사설 토토에 대한 바인드 매개변수 로깅을 비활성화합니다.-1(기본값)은 바인드 매개변수가 전체 기록되도록 허용합니다. 이 값을 단위 없이 지정하면 바이트로 간주됩니다. 적절한 권한을 가진 수퍼유저 및 사용자만세트권한으로 이 설정을 변경할 수 있습니다.
이 설정은 다음의 결과로 인쇄된 사설 토토 메시지에만 영향을 미칩니다.log_statement, log_duration및 관련 설정. 이 설정의 0이 아닌 값은 약간의 오버헤드를 추가합니다. 특히 매개변수가 바이너리 형식으로 전송되는 경우 텍스트로 변환해야 하기 때문에 더욱 그렇습니다.
log_parameter_max_length_on_error (정수) #0보다 큰 경우 오류 메시지에 보고된 각 바인드 매개변수 값은 이 바이트 수로 잘립니다. 0(기본값)은 오류 메시지에 바인딩 매개변수를 포함하지 않도록 설정합니다.-1바인드 매개변수 전체를 인쇄할 수 있습니다. 이 값을 단위 없이 지정하면 바이트로 간주됩니다.
이 설정의 0이 아닌 값은 오버헤드를 추가합니다.포스트그레SQL결국 오류가 발생하는지 여부에 관계없이 각 문이 시작될 때 메모리에 매개변수 값의 텍스트 표현을 저장해야 합니다. 바인드 매개변수가 텍스트로 전송될 때보다 바이너리 형식으로 전송될 때 오버헤드가 더 큽니다. 전자의 경우 데이터 변환이 필요하고 후자의 경우 문자열 복사만 필요하기 때문입니다.
log_statement (열거) #어떤 SQL 문이 기록되는지 제어합니다. 유효한 값은 다음과 같습니다.없음(꺼짐),ddl, 모드및모두(모든 진술).ddl다음과 같은 모든 데이터 정의 문을 기록합니다.만들기, 변경및드롭문장.모드모두 기록ddl문과 다음과 같은 데이터 수정 문삽입, 업데이트, 삭제, 잘라내기및다음에서 복사. 준비, 실행및분석 설명문은 포함된 명령이 적절한 유형인 경우에도 기록됩니다. 확장 쿼리 프로토콜을 사용하는 클라이언트의 경우 실행 메시지가 수신되면 로깅이 발생하고 Bind 매개변수의 값이 포함됩니다(포함된 작은따옴표가 두 배가 됨).
기본값은없음. 적절한 권한을 가진 수퍼유저 및 사용자만세트권한으로 이 설정을 변경할 수 있습니다.
간단한 구문 오류가 포함된 명령문은 다음과 같은 경우에도 기록되지 않습니다.log_statement = 모두설정, 명령문 유형을 결정하기 위해 기본 구문 분석이 완료된 후에만 사설 토토 메시지가 방출되기 때문입니다. 확장 쿼리 프로토콜의 경우 이 설정은 마찬가지로 실행 단계 이전(예: 구문 분석 또는 계획 중)에 실패한 명령문을 기록하지 않습니다. 세트log_min_error_statement에오류(또는 그 이하) 그러한 진술을 기록합니다.
기록된 문은 민감한 데이터를 노출할 수 있으며 심지어 일반 텍스트 비밀번호를 포함할 수도 있습니다.
log_replication_commands (부울) #각 복제 명령을 유발하고월센더프로세스의 복제 슬롯 획득/해제 정보가 서버 사설 토토에 기록됩니다. 보다PostgreSQL : 문서 : 17 : 53.4. 와이즈 토토 복제 프로토콜복제 명령에 대한 자세한 내용을 확인하세요. 기본값은꺼짐. 적절한 권한을 가진 수퍼유저 및 사용자만세트권한으로 이 설정을 변경할 수 있습니다.
log_temp_files (정수) #임시 파일 이름과 크기의 로깅을 제어합니다. 정렬, 해시 및 임시 쿼리 결과를 위해 임시 파일을 생성할 수 있습니다. 이 설정을 활성화하면 임시 파일이 삭제될 때 파일 크기가 바이트 단위로 지정된 각 임시 파일에 대한 사설 토토 항목이 내보내집니다. 0 값은 모든 임시 파일 정보를 기록하는 반면, 양수 값은 크기가 지정된 데이터 양보다 크거나 같은 파일만 기록합니다. 이 값을 단위 없이 지정하면 킬로바이트로 간주됩니다. 기본 설정은 -1이며, 이는 이러한 로깅을 비활성화합니다. 적절한 권한을 가진 수퍼유저 및 사용자만세트권한으로 이 설정을 변경할 수 있습니다.
log_timezone (문자열) #서버 사설 토토에 기록된 타임스탬프에 사용되는 시간대를 설정합니다. 같지 않은시간대, 이 값은 클러스터 전체에 적용되므로 모든 세션이 타임스탬프를 일관되게 보고합니다. 내장된 기본값은GMT, 그러나 일반적으로 다음에서 재정의됩니다.postgresql.conf; initdb시스템 환경에 해당하는 설정을 설치합니다. 보다섹션 8.5.376259_76322postgresql.conf파일 또는 서버 명령줄에서.
포함csvlog에서log_destinationlist는 사설 토토 파일을 데이터베이스 테이블로 가져오는 편리한 방법을 제공합니다. 이 옵션은 쉼표로 구분된 값()으로 사설 토토 줄을 내보냅니다.CSV) 형식, 밀리초가 포함된 타임스탬프, 사용자 이름, 데이터베이스 이름, 프로세스 ID, 클라이언트 호스트:포트 번호, 세션 ID, 세션별 줄 번호, 명령 태그, 세션 시작 시간, 가상 트랜잭션 ID, 일반 트랜잭션 ID, 오류 심각도, SQLSTATE 코드, 오류 메시지, 오류 메시지 세부 정보, 힌트, 오류를 발생시킨 내부 쿼리(있는 경우), 오류 위치의 문자 수, 오류 컨텍스트, 오류를 발생시킨 사용자 쿼리(있는 경우)log_min_error_statement), 오류 위치의 문자 수, PostgreSQL 소스 코드의 오류 위치(iflog_error_verbosity다음으로 설정됨상세), 애플리케이션 이름, 백엔드 유형, 병렬 그룹 리더의 프로세스 ID 및 쿼리 ID입니다. 다음은 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 텍스트, backend_type 텍스트, Leader_pid 정수, query_id bigint, 기본 키(session_id, session_line_num) );
사설 토토 파일을 이 테이블로 가져오려면 다음을 사용하십시오.다음에서 복사명령:
csv를 사용하여 '/full/path/to/logfile.csv'에서 postgres_log를 복사하세요.
제공된 테이블을 사용하여 외부 테이블로 파일에 액세스할 수도 있습니다.file_fdw모듈.
CSV 사설 토토 파일 가져오기를 단순화하기 위해 수행해야 할 몇 가지 작업이 있습니다.
설정사설 토토_파일이름그리고log_rotation_age사설 토토 파일에 일관되고 예측 가능한 명명 체계를 제공합니다. 이를 통해 파일 이름이 무엇인지 예측하고 개별 사설 토토 파일이 완료되어 가져올 준비가 된 시기를 알 수 있습니다.
설정log_rotation_size0으로 설정하면 사설 토토 파일 이름을 예측하기 어렵기 때문에 크기 기반 사설 토토 회전을 비활성화합니다.
설정log_truncate_on_rotation에켜짐이전 사설 토토 데이터가 동일한 파일에서 새 사설 토토 데이터와 혼합되지 않도록 합니다.
위 테이블 정의에는 기본 키 사양이 포함되어 있습니다. 이는 동일한 정보를 실수로 두 번 가져오는 것을 방지하는 데 유용합니다. 그만큼복사명령은 가져오는 모든 데이터를 한 번에 커밋하므로 오류가 발생하면 전체 가져오기가 실패하게 됩니다. 부분 사설 토토 파일을 가져오고 나중에 파일이 완료된 후 다시 가져오면 기본 키 위반으로 인해 가져오기가 실패하게 됩니다. 가져오기 전에 사설 토토가 완료되고 닫힐 때까지 기다리십시오. 이 절차는 또한 완전히 작성되지 않은 부분 줄을 실수로 가져오는 것을 방지합니다.복사실패하다.
포함jsonlog에서log_destinationlist는 사설 토토 파일을 다양한 프사설 토토램으로 가져오는 편리한 방법을 제공합니다. 이 옵션은 사설 토토 줄을 내보냅니다.JSON형식.
널 값이 있는 문자열 필드는 출력에서 제외됩니다. 향후 추가 필드가 추가될 수 있습니다. 처리하는 사용자 애플리케이션jsonlog출력은 알 수 없는 필드를 무시해야 합니다.
각 사설 토토 줄은 다음과 같은 키 집합과 관련 값이 포함된 JSON 개체로 직렬화됩니다.표 19.3.
표 19.3. JSON 사설 토토 항목의 키 및 값
| 키 이름 | 유형 | 설명 |
|---|---|---|
타임스탬프 |
문자열 | 밀리초 단위의 타임스탬프 |
사용자 |
문자열 | 사용자 이름 |
db이름 |
문자열 | 데이터베이스 이름 |
pid |
번호 | 프로세스 ID |
remote_host |
문자열 | 클라이언트 호스트 |
remote_port |
번호 | 클라이언트 포트 |
세션_ID |
문자열 | 세션 ID |
line_num |
번호 | 세션별 줄 번호 |
ps |
문자열 | 현재 ps 디스플레이 |
session_start |
문자열 | 세션 시작 시간 |
vxid |
문자열 | 가상 거래 ID |
txid |
문자열 | 일반 거래 ID |
error_severity |
문자열 | 오류 심각도 |
state_code |
문자열 | SQLSTATE 코드 |
메시지 |
문자열 | 오류 메시지 |
세부정보 |
문자열 | 오류 메시지 세부정보 |
힌트 |
문자열 | 오류 메시지 힌트 |
internal_query |
문자열 | 오류를 발생시킨 내부 쿼리 |
내부_위치 |
번호 | 내부 쿼리에 대한 커서 인덱스 |
컨텍스트 |
문자열 | 오류 컨텍스트 |
성명 |
문자열 | 클라이언트 제공 쿼리 문자열 |
cursor_position |
번호 | 쿼리 문자열에 대한 커서 인덱스 |
func_name |
문자열 | 오류 위치 함수 이름 |
파일_이름 |
문자열 | 오류 위치의 파일 이름 |
file_line_num |
번호 | 오류 위치의 파일 줄 번호 |
응용프사설 토토램_이름 |
문자열 | 클라이언트 애플리케이션 이름 |
백엔드_유형 |
문자열 | 백엔드 유형 |
leader_pid |
번호 | 활성 병렬 작업자에 대한 리더의 프로세스 ID |
query_id |
번호 | 쿼리 ID |
이 설정은 서버 프로세스의 프로세스 제목이 수정되는 방식을 제어합니다. 프로세스 제목은 일반적으로 다음과 같은 프사설 토토램을 사용하여 표시됩니다.ps또는 Windows의 경우프로세스 탐색기. 보다토토 커뮤니티 PostgreSQL : 문서 : 17 : 27.1. 표준 유닉스 도구자세한 내용은.
클러스터_이름 (문자열) #다양한 목적으로 이 데이터베이스 클러스터(인스턴스)를 식별하는 이름을 설정합니다. 클러스터 이름은 이 클러스터에 있는 모든 서버 프로세스의 프로세스 제목에 표시됩니다. 또한 이는 대기 연결을 위한 기본 애플리케이션 이름입니다(참조synchronous_standby_names).
이름은 다음보다 작은 문자열이 될 수 있습니다.NAMEDATALEN문자(표준 빌드에서는 64자). 에는 인쇄 가능한 ASCII 문자만 사용할 수 있습니다.클러스터_이름값. 다른 문자는 다음으로 대체됩니다.C 스타일 16진수 이스케이프. 이 매개변수가 빈 문자열로 설정된 경우 이름이 표시되지 않습니다.''(기본값). 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.
update_process_title (부울) #서버에서 새 SQL 명령을 받을 때마다 프로세스 제목 업데이트를 활성화합니다. 이 설정의 기본값은켜짐대부분의 플랫폼에서, 그러나 기본값은꺼짐Windows에서는 프로세스 제목 업데이트에 대한 플랫폼의 더 큰 오버헤드로 인해 발생합니다. 적절한 권한을 가진 수퍼유저 및 사용자만SET권한으로 이 설정을 변경할 수 있습니다.
문서에서 올바르지 않은 내용을 발견하면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.