설명
Cloud SQL for PostgreSQL의 log_temp_files는 어떤 크기의 임시 파일을 로그로 남길지 결정합니다. -1은 기록을 끄고, 0은 모든 임시 파일을 기록하며, 양수는 KB 단위의 최소 크기를 지정합니다. 따라서 1은 로깅을 끄는 값이 아니라 1 KB 이상인 임시 파일을 기록하는 기준입니다.
이 로그는 임시 파일이 삭제될 때 이름과 크기를 남겨 쿼리 비효율과 디스크 사용 증가를 분석하는 데 도움이 됩니다. 임시 파일의 내용 자체를 기록하는 기능은 아닙니다.
잠재적 영향
- 로깅이 꺼져 있거나 크기 기준이 너무 높으면 성능 문제 분석에 필요한 기록이 부족할 수 있습니다.
- 모든 임시 파일을 기록하면 워크로드에 따라 로그 수집량과 처리 비용이 증가할 수 있습니다.
해결 방법
- 모든 임시 파일 기록이 필요하면
settings.database_flags의log_temp_files를0으로 설정하세요. 큰 파일만 조사하려면 적절한 양수 기준을 정하세요. - 다른 PostgreSQL 로그 설정과 함께 운영 목적에 맞는지 검토하세요.
- 변경 후 실제 로그와 성능 영향을 확인하고 로그 접근 권한과 보존 기간을 관리하세요.
google.cloud 1.14.0의 SQL 모듈은 기존 인스턴스 갱신을 지원하지 않습니다. 다음 예시는 생성용이며, 기존 인스턴스의 플래그는 지원되는 Cloud SQL 도구나 API로 변경하세요.
예시
지원되는 PostgreSQL 버전과 인스턴스 등급, 실제 프로젝트와 리소스 이름, 서비스 계정 JSON 파일을 사용하세요. 다음은 로그 기준을 비교하는 구성 일부입니다.
변경 전
yaml
- name: Cloud SQL 인스턴스 생성
google.cloud.gcp_sql_instance:
auth_kind: serviceaccount
database_version: POSTGRES_13
name: "{{ resource_name }}-2"
project: test_project
region: us-central1
service_account_file: /tmp/auth.pem
settings:
database_flags:
- name: log_temp_files
value: 1
tier: db-custom-1-3840
state: present
log_temp_files: 1은 1 KB 이상인 임시 파일을 기록합니다. 더 작은 파일의 기록이 필요한지에 따라 적합성을 판단하세요.
변경 후
yaml
- name: Cloud SQL 인스턴스 생성
google.cloud.gcp_sql_instance:
auth_kind: serviceaccount
database_version: POSTGRES_13
name: "{{ resource_name }}-2"
project: test_project
region: us-central1
service_account_file: /tmp/auth.pem
settings:
database_flags:
- name: log_temp_files
value: 0
tier: db-custom-1-3840
state: present
log_temp_files: 0은 모든 임시 파일을 기록합니다. 기록 범위가 넓어지는 만큼 실제 로그 수집량도 확인하세요.