![읽기/쓰기에 영향을 주지 않고 PostgreSQL 테이블 팽창을 해결하시겠습니까?](https://rvso.com/image/668784/%EC%9D%BD%EA%B8%B0%2F%EC%93%B0%EA%B8%B0%EC%97%90%20%EC%98%81%ED%96%A5%EC%9D%84%20%EC%A3%BC%EC%A7%80%20%EC%95%8A%EA%B3%A0%20PostgreSQL%20%ED%85%8C%EC%9D%B4%EB%B8%94%20%ED%8C%BD%EC%B0%BD%EC%9D%84%20%ED%95%B4%EA%B2%B0%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
제 생각에는 비대해지기 시작한 대형 postgresql 테이블이 있는데 이를 수정하고 싶습니다. 일반적으로 VACUUM FULL
또는 을 수행할 수 있지만 CLUSTER
읽기/쓰기 성능에 영향을 주지 않고 팽창을 해결할 수 있는지 궁금합니다.
인덱스 팽창이 있는 경우 이전 인덱스와 동일한 항목을 인덱스하지만 이름은 다른 새 인덱스를 (수동으로) 동시에 생성할 수 있으며, 생성 시 이전의 비대해진 인덱스를 삭제할 수 있습니다. 이를 통해 프로덕션 사용에 최소한의 영향을 미치면서 인덱스 팽창을 수정할 수 있습니다(항상 인덱스가 있고 읽기 및 쓰기가 차단되지 않기 때문입니다).
테이블에 적용할 수 있는 접근 방식이 있나요? CREATE TABLE newtable LIKE old_bloated_table INCLUDING ...
테이블을 새로 만들 수 있습니다 . 그런 다음 삭제하고 이름을 바꿉니다. 하지만 데이터가 동기화되지 않았을 수 있습니다. 어쨌든 테이블 간에 데이터가 동일하다는 것을 보장할 수 있습니까? (인덱스의 경우 인덱스는 항상 테이블과 동기화됩니다.)