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 10216 게시물 읽기
No. 10216
PostgreSQL Vacuum에 관해
작성자
GOmadafter
작성일
2020-12-16 16:31
조회수
173

안녕하세요

PostgreSQL에 대해 공부중인 학생입니다.

공부중 궁금한점이 생겨서 질문을 올립니다.

1. 수동으로 돌리는 Vacuum 과 AutoVacuum에 차이라고하면 뭐가 있을까요?

찾아보니 자주 도는 쿼리는 AutoVacuum으로도 데드 튜플을 못없애줘서 수동으로도 가끔 돌려줘야하는거 같던데요

이런 이유일까요?


2. Vacuum을 돌리면 Select, dml은 가능하다고 하는데

테스트를해보니 

Session1> Vacuum t1;

Session2> select * from t1; 을 거니

Vacuum이 끝날때까지 조회가 안되다가 Vacuum이 끝나야 t1에대해 결과가 나오더라구요.

이건 결국에 Lock이 걸리는 개념아닌가요?

lock 모니터링 테이블을 확인해보니 걸리는건 없긴한데 왜 이렇게 되는지 이해가 안갑니다.

한수 가르쳐주시면 감사하겠습니다 선배님들.


두서없는 글  읽어주셔서 감사합니다.

 

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

1.

autovacuum은 내부 규칙에 따라서 서비스에 최대한 영양을 안끼치는 범위 안에서 자동으로 청소를 하고, 

사용자가 실행하는 그냥 vacuum은 이런 것 다 무시하고 무조건 OS 자원을 최대한 활용해서 청소합니다. 


autovacuum 이 삭제된 자료의 공간 재활용 문제를 제대로 해결 못하는지는 꾸준히 살펴봐야합니다. 

pg_stat_all_tables 뷰로 살펴볼 수 있습니다. 


2.

select * from t1 같은 쿼리 말고, select * from t1 where pk = value 같은 쿼리로 테스트 하셔야합니다. 


 

김상기(ioseph)님이 2020-12-17 11:32에 작성한 댓글입니다.

빠른 답변 감사합니다.

근데 2번에서 왜 조건절로만 테스트를 해야하는지 이해가 안되는데 설명 부탁드려도될까요?

GOmadafter님이 2020-12-19 23:06에 작성한 댓글입니다. Edit

그걸 눈으로 확인하려면 아주 큰 테이블이어야 확인이 가능해요.

크기가 크지 않은 테이블은 마치 vacuum 작업 뒤에 select 가 일어나는 것처럼 보일 뿐입니다.

select 작업은 그 세션 프로세스가 해당 작업의 모든 자료가 준비 되면 그 때부터 출력을 시작하거든요.

그래서, select가 마치 vacuum 뒤에 작업을 하는 것처럼 보이는 것입니다.


 

김상기(ioseph)님이 2020-12-21 03:02에 작성한 댓글입니다.
이 댓글은 2020-12-21 04:05에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
10219Linux C 프로그램에서 postgresql DB에 한글 Insert 시 Insert 실패 문제 [1]
초보DB
2020-12-22
131
10218원격지 파일로 data import [1]
궁금
2020-12-21
119
10217pg 세션 처리 문제 [3]
궁금
2020-12-17
173
10216PostgreSQL Vacuum에 관해 [3]
GOmadafter
2020-12-16
173
10215파티션 관리 자동화 문의 [3]
lucky
2020-12-15
183
10214[CentOS] *.run 으로 설치된 패키지를 찾는 명령어가 궁금합니다.  [3]
lucky
2020-12-10
155
10213pgAdmin->서버상태에서 RELEASE_EXEC_SVP.... 값에대한 문의 [1]
초보
2020-11-26
205
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2020 DSN, All rights reserved.
작업시간: 0.010초, 이곳 서비스는
	PostgreSQL v13.1으로 자료를 관리합니다