설문조사
PostgreSQL/PPAS 관련 듣고 싶은 교육은
결과보기
EnterpriseDB
총 게시물 190건
목록 글쓰기 이전글 다음글

사이즈가 큰 테이블의 월별 분할.

글쓴이 : JoHo   날짜 : 2016-05-04 (수) 06:47   조회 : 8476 인쇄
Postgresql에 입문한지 얼마 되지 않다 보니 궁금한 것이 많네요..
그 중에 먼저 하나... ^^

Postgresql 디비내에 사이즈가 큰 테이블이 존재 합니다.
해당 테이블은 삭제 하지 않고 4개월 이전의 데이타만을 날짜 기준으로 해서 월별로 동일한 테이블 네임에 년월만 붙여서 매달 따로 보관하려고 하는데요, 좋은 방법이 없을 까요?
Partitioning을 찾아봤더니, 결국 트리거를 사용해서 이미 생성된 테이블에 분할하도록 하게 되어 있어서 성능이 별로 좋지 못하다고 하더군요.
수작업을 통해 매번 분할하는 방법 말고 추천해 주실 만한 방법이 있는지 의견 부탁드립니다.

감사합니다.

댓글목록

PostgresDBA 2016-05-04 (수) 13:48
PostgreSQL 파티셔닝 테이블을 만드세요. 대신 트리거 생성하지 마시구요.
단 데이터 insert 시 PARAENT 테이블에 INSERT 하지 마시고
INSERT 차일드테이블명 .. 으로 직접 해당월에 INSERT 하세요.
트리거 역할을 SQL 로 매뉴얼하게 하는거지요.
JoHo 2016-05-05 (목) 02:40
아. 네.. 답글 감사드립니다.
그런데 차일드 테이블로 직접 입력할 수 있는 상황이 아니라서요.
어플리케이션 소스 수정을 제가 할 수도 없고 요청할 수도 없는 상황이라, 그냥 제가 할 수 있는 부분을 찾고 있습니다.
현재까지 확인된 바로는 별다른 방법이 없을 것 같네요.
매뉴얼 작업을 통해 일단 옛날 자료를 분리하고, 매달 월별 테이블을 생성하는 스크립트를 따로 만들어서 오래된 자료를 한달 단위로 이전하는 방식으로 진행해야 할 것 같습니다. ㅜ.ㅜ
목록 글쓰기 이전글 다음글

postgresdba.com