테이블 수준 Autovacuum 파라미터 설정 - Amazon Relational Database Service

테이블 수준 Autovacuum 파라미터 설정

Autovacuum이 관련된 스토리지 파라미터를 테이블 수준에서 설정할 수 있습니다. 이 방법은 전체 데이터베이스의 동작을 변경하는 방법보다 더 나을 수 있습니다. 큰 테이블에 적극적인 설정을 지정해야 하지만 autovacuum이 모든 테이블에서 이와 같은 방식으로 작동하지 않도록 하려는 경우가 있을 수 있습니다.

이 쿼리를 사용하면 현재 어떤 테이블에 테이블 수준 옵션을 사용 중인지가 표시됩니다.

SELECT relname, reloptions FROM pg_class WHERE reloptions IS NOT null;

이 쿼리가 유용한 경우는 테이블 하나가 나머지 테이블보다 훨씬 더 큰 경우입니다. 300GB 테이블 하나와 1GB 미만의 테이블 30개가 있다고 가정하십시오. 이 경우 더 큰 테이블에 특정 파라미터를 설정하여 전체 시스템의 동작이 변경되지 않도록 할 수 있습니다.

ALTER TABLE mytable set (autovacuum_vacuum_cost_delay=0);

이렇게 하면 시스템의 리소스를 더 많이 사용하는 대신 이 테이블의 비용에 따른 autovacuum 지연이 비활성화됩니다. 일반적으로 매시간 autovacuum_cost_limit에 도달한 autovacuum_vacuum_cost_delay의 autovacuum이 일시 중지됩니다. 자세한 내용은 비용에 따른 vacuum 수행에 대한 PostgreSQL 설명서에서 확인할 수 있습니다.