PostgreSQL에서 ANALYZE를 자동으로 실행하시겠습니까?

PostgreSQL에서 ANALYZE를 자동으로 실행하시겠습니까?

ANALYZE <table>;cronjob 외에 PostgreSQL 12 서버에서 자동으로 실행하는 가장 쉬운 방법은 무엇입니까 ?

매주 수백만 개의 행이 정기적으로 삽입되는 애플리케이션이 있는데, 한 달 정도 지나면 수정되는 기본 테이블에 대한 통계가 최신이 아니기 때문에 쿼리 시간이 매우 느려집니다. 테이블을 실행하는 ANALYZE <table>;데는 몇 분이 걸리고 즉시 성능 문제가 해결되지만, 이 작업을 수동이 아닌 PG 서버 자체에서 자동으로 수행할 수 있도록 설정이 있어야 한다고 생각합니다.

답변1

Autovacuum을 비활성화한 것 같습니다. 활성화된 경우 모든 테이블을 주기적으로 분석하여 쿼리 플래너에 대한 통계를 업데이트합니다.

가장 간단한 해결책은 autovacuum을 다시 활성화하는 것입니다. autovacuum 설정은 postgresql.conf 파일을 확인하세요.

답변2

PostgreSQL에는 필요에 맞게 활성화하고 구성해야 하는 내장 autovavuum이 있습니다. 일반적으로 *autovacuum_vacuum_threshold *를 조정하고autovacuum_analyze_threshold변경된 튜플 수에 따라 원하는 동작을 시작합니다.

보다https://www.postgresql.org/docs/current/routine-vacuuming.html#AUTOVACUUM

관련 정보