1. Vacuum ์ด๋? Vacuum์ postgresql์์ dead tuple์ด ์ฐจ์งํ๋ ์ ์ฅ๊ณต๊ฐ์ ํ์ํ๋ค. ์ผ๋ฐ์ ์ผ๋ก Postgresql์์ update, delete tuple ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ญ์ ๋์ง ์์ผ๋ฉฐ vacuum์ด ์๋ฃ๋ ๋๊น์ง ๊ณ์ ์กด์ฌํ๋ค.ย (update, delete ์ tuple์ ์ํ์ MVCC ๊ฐ๋
์์ ํ์ธํ ์ ์๋ค.)
[PostgreSQL] MVCC (Multi-Version Concurrency Control)
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํนํ ์์ฃผ ์
๋ฐ์ดํธ๋๋ ํ
์ด๋ธ์ ๊ฒฝ์ฐ ์ฃผ๊ธฐ์ ์ธ Vacuum ์ํ์ด ํ์ํ๋ค. Vacuum์ ํน์ ํ
์ด๋ธ์ ํํด์๋ ์คํ์ด ๊ฐ๋ฅํ๊ณ , ํ
์ด๋ธ์ ์ง์ ํ์ง ์๋๋ค๋ฉด ์ ์ฒด ํ
์ด๋ธ (๊ถํ์ ๋ณด์ ํ)์ ๋ํด์ ์คํ๋๋ค.
2. Vacuum ๋ช
๋ น์ด -- DB ์ ์ฒด full vacuum vacuum full analyze; -- DB ์ ์ฒด ๊ฐ๋จํ๊ฒ ์คํ vacuum verbose analyze; -- ํด๋น ํ
์ด๋ธ๋ง ๊ฐ๋จํ๊ฒ ์คํ vacuum analyze [ํ
์ด๋ธ ๋ช
]; -- ํน์ ํ
์ด๋ธ๋ง full vacuum vacuum full [ํ
์ด๋ธ ๋ช
]; 3. Vacuum ์์ธ ์ต์
VACUUM [ ( option [, ...] ) ] [ table_and_columns [, ...] ] VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ table_and_columns [, ...] ] where option can be one of: FULL [ boolean ] FREEZE [ boolean ] VERBOSE [ boolean ] ANALYZE [ boolean ] DISABLE_PAGE_SKIPPING [ boolean ] SKIP_LOCKED [ boolean ] INDEX_CLEANUP { AUTO | ON | OFF } PROCESS_MAIN [ boolean ] PROCESS_TOAST [ boolean ] TRUNCATE [ boolean ] PARALLEL integer SKIP_DATABASE_STATS [ boolean ] ONLY_DATABASE_STATS [ boolean ] BUFFER_USAGE_LIMIT [ size ] and table_and_columns is: table_name [ ( column_name [, ...] ) ] 4. Vacuum analyze Vacuum analyze ๋ vacuum ํ ํ
์ด๋ธ ๋ณ๋ก analyze๋ฅผ ์ํ(ํต๊ณ์ ๋ณด ์์ง)ํ๊ธฐ์ ์ ์ง๋ณด์์ ์ํํ๋ค.
...