Postgres RDS 인스턴스의 AWS 복제본에는 기본 인스턴스와 별도로 Vacuum 및 Analyze가 필요합니까?

Postgres RDS 인스턴스의 AWS 복제본에는 기본 인스턴스와 별도로 Vacuum 및 Analyze가 필요합니까?

논리적 복제를 사용하지 않는다고 가정하면...

낮은 수준 복제가 다음과 같은 다른 낮은 수준 작업과 어떻게 상호 작용하는지 명확하지 않습니다.진공그리고분석하다.

복제본이 기본 서버의 블록 수준 복사본이 되는 경향이 있는지, 기본 서버의 진공 상태에 의한 변경 사항이 복제본에 복제되는지는 확실하지 않습니다. 또는 복제본이 자체 유지 관리에 더 많은 책임이 있는 경우.


배경

매년 약 2TB 증가하는 RDS 인스턴스가 있습니다. 오늘 우리는 기존 쿼리 중 일부가 매우 느리게 실행되는 것을 발견했습니다.

매우 일관되게 증가하는 매우 큰 테이블의 쿼리에 갑작스러운 변경이 발생하면 첫 번째 본능은 코드 변경 사항을 확인하는 것이고 두 번째는 테이블 통계를 확인하는 것입니다.

그러나 이것은 진공/분석에 관한 내 지식의 공백을 지적했습니다.

답변1

PostgreSQL용 Amazon RDS용도PostgreSQL의 내장스트리밍 복제.

본질적으로 이는 서버 전체의 낮은 수준 복제이며 때로는 물리적 복제라고도 합니다. 예, 일종의 블록 수준 복제라고 생각할 수 있습니다.

그러나 스트리밍 복제는 실제로 블록을 복제하지 않습니다. 이는 기본 데이터베이스에서 WAL 데이터(재실행 레코드)를 지속적으로 전송하여 복제본으로 재생하는 방식으로 작동합니다.

진공 작업은 WAL에 기록되고 복제 서버에서 재생됩니다.

분석 작업의 경우 결과 통계가 시스템 테이블 pg_class및 에 기록됩니다 pg_statistic. 이러한 테이블의 업데이트는 WAL에 기록되고 복제본에서 재생됩니다.

관련 정보