database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 8488 게시물 읽기
No. 8488
파일 용량이 계속해서 커집니다.. ㅠ.ㅠ
작성자
한숨
작성일
2009-09-15 09:51
조회수
7,510

안녕하세요

현재 postgresql 8.4를 사용하고 있습니다.

1분 마다 약 3만건의 데이터를 삽입하고 한 시간이 지난 데이터는 삭제하는 작업을 하면서 웹에서 모니터링을 하고 있는데요

이상하게 무슨 용도인지 알 수 없는 파일의 크기가 계속해서 커집니다..

DB는 기본 DB인 postgres 를 사용하고 있고

데이터를 삽입 할 때마다 VACUUM ANALYZE 를 걸어주고 있고 여러 테이블 중 한 개의 테이블에 데이터를 삭제하고 저장할 때

transaction을 걸어주고 있습니다.

사이트가 커지는 데이터는 2840이라는 파일인데 이게 도대체 뭐하는 파일인지 모르겠네요.. ;;

많은 분들의 도움 부탁드립니다.

감사합니다.

이 글에 대한 댓글이 총 2건 있습니다.

delete 후 vacuum analuze 를 하셔도 DB사이즈는 줄어들지 않는걸로 압니다. full vacuum을 하시면, 줄어드는 것으로 아는데, 이 때 lock이 걸려 작업이 안되겠지요? 그래서 용량을 어느정도 확보하셔서 사이즈가 늘어나도 운영에 차질이 없게하신 후 DB사용 스케쥴에 따라 full vacuum을 해주시면 될것 같습니다.

김대청(dcmru)님이 2009-09-15 10:35에 작성한 댓글입니다.

데이터는 페이지라는 단위로 저장됩니다.

페이지 할당되고 나면 또 쓸까봐 그 물리적으로 할당된 페이지를 실재로 정리를 하지는 않습니다.

그래서, 대량 insert 가 일어났고, 대량 delete가 일어났다면,

상식적으로 그 해당 자료가 저장된 파일 크기가 별로 안 커야하는데,

DB 입장에서는 그 파일을 줄이는 일이 오히려 부담이죠.


그래서, vacuum 명령으로 이 페이지는 이제 안쓰는 페이지니 다른 자료가 저장되어도 좋다고 지정합니다.


8.4 라면, autovacuum 기능이 켜져있을터이고,

정말로 많이 기록되고, 많이 삭제되어 언제나 그 테이블의 자료는 어느 특정량 이상은 넘지 않는다면,

그 특정량 만큼의 물리적인 공간을 차지하고 있을겝니다.


2840 관련을 살펴봤는데요,


select * from pg_class where oid = 2840;

pg_toast_2619 이게 나옵니다.

select * from pg_class where oid = 2619;

pg_statistic

이게 나오네요.


즉, vacuum analyze 작업에 필요한 테이블들의 자료통계정보를 담고 있는 테이블의 토스트 자료보관용인가봅니다.


전체적으로 데이터베이스 구조가 변경사항이 없다면, pg_toast_2619 테이블의 크기(2840 파일)도 어느 정도 커지고 더이상 커지지 않아야합니다.

그런데, 계속 커진다면, 아마 계속 데이터베이스 하위객체들(테이블, 뷰, 시퀀스, column, 인덱스....)이 만들어졌다 지워졌다 하는 것은 아닐지 의문을 가져봅니다.


김상기(ioseph)님이 2009-09-15 11:01에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
8491[Greenplum] 1년 성과에 대해서 나누고 싶습니다. [4]
박춘삼
2009-09-19
7715
8490dblink 인코딩 오류 질문 드립니다. [3]
김태우
2009-09-15
7920
8489ecpg -D option 사용 [1]
서경석
2009-09-15
7424
8488파일 용량이 계속해서 커집니다.. ㅠ.ㅠ [2]
한숨
2009-09-15
7510
8487행에 따른 업데이트 쿼리에 대해서 [3]
souler
2009-09-14
6657
8485너무 복잡해요.. 도와주세요~ [1]
허접
2009-09-11
6884
8484트리거에서 함수호출방법은... [1]
초보
2009-09-11
6702
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다