로깅 정보를 저장하는 여러 테이블이있는 PostgreSQL 데이터베이스를 실행 중입니다. 이 정보는보고 목적으로 만 사용되며 파일로 덤프되어 30 일이 지난 경우 데이터베이스에서 삭제됩니다.
수백만 개의 행이 삭제 될 수 있으며 삭제 후마다 REINDEX를 실행하고 있습니다.
이것으로 충분합니까, 아니면 VACUUM 또는 VACUUM ANALYZE도 실행해야합니까? 또는 REINDEX 필요가 없습니다 우리는 대신한다 단지 진공 또는 진공 분석 실행?
우리는 자동 진공 청소기를 허용하지 않는 PostgreSQL 8.2.3을 사용하고 있습니다.
2
파티셔닝을 고려할 수도 있습니다 ( postgresql.org/docs/9.0/static/ddl-partitioning.html 참조) . 그런 다음 파티션을 버리고 진공 청소기로 청소하지 않아도됩니다.
—
alex
버전 8.2.3에는 auto_vacuum이 있습니다. 매뉴얼을 참조하십시오. 그러나 최대한 빨리 업데이트해야합니다. 현재 8.2 버전은 8.2.17입니다. 몇 가지 보안 패치를 포함하여 14 개의 패치가 있습니다. 8.4 또는 9.0으로 업그레이드하는 것이 더 좋습니다. auto_vacuum이 개선되었습니다.
—
Frank Heikens