티스토리 뷰
고객사에 데이터 베이스 용량이 하루 3%씩 증가한다는 연락을 받았다.
처음에는 데이터가 많으면 그럴수도 있지.. 라고 생각했었는데.. 아차.. 내가 유지보수 하고 있는 사이트는 규칙적으로 데이터를 insert하고 delete 한다.
갑자기.. postgresql에 vacuum, autovacuum가 생각 났다.
구글에서 postgres vacuum, autovacuum라고 치면 엄청나게 많은 글을 볼수가 있다.
여기서 이야기하고 싶은 것은 고객사에 DB 용량이 이미 80%가 되었을때.. 아니면 90% 임시 조치는 어떻게 할 것인가?라는 이야기를 하고 싶다.
우선 이야기 하고 싶은 건은 한번 데이터가 insert 하고 update, delete를 하면 테이블에 용량이 늘어난다.
예를들어서 38만 정도 되는 더미 데이터를 넣고 지우고 테이블에 데이터가 하나도 없어도 테이블 용량이 늘어난다.
위와 같이 그리고 한번 늘어난 테이블 용량은 vacuum, autovacuum을 하더라도 0으로 줄지 않는다.
그럼 내가 생각한 유일한 생각은 truncate 밖에 없다. truncate를 하면 테이블 용량이 다시 처음으로 돌아간다.
하지만, 어느 고객이 아무리 쓸모 없는 데이터라도 DB Table 데이터를 truncate를 하는 것을 좋하겠냐?
내가 생각한 내용은 테이블을 복사하고 다시 해당 테이블을 넣자. 그러면 테이블의 양만큼 복사하는 것을 확인 할 수 있다.
create table 복사 테이블명 as select * from 원본 테이블명
그 다음에 다시 복사하면 어느정도 줄은 테이블 용량을 확인 할 수 있다.
insert into 원본테이블명 select * from 복사 테이블명;
내가 내린 결론은 너무 급하면 truncate 을 통해서 테이블을 초기화 하고
시간을 내서 vacuum, autovacuum에 대해서 튜닝을 해야 한다고 생각한다.
[참고사이트]
https://postgresql.kr/docs/9.3/routine-vacuuming.html
- Total
- Today
- Yesterday
- 대관령양떼목장
- 제주도여행
- jdk
- 이클립스
- 파주여행
- 가평여행
- 테라로사
- java api
- PPTX
- 임자도
- oracle
- 산외한우마을
- 부천역
- 인천여행
- ora-01940
- 인천
- 토드
- 맛집
- 인스타그램
- pdf ms워드 변환
- 정동지
- 담양 죽녹원
- 밀리세컨드
- 가평팬션
- 덤프
- 오라클
- 보성녹차밭
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |