์ธ๋ฑ์Šค ์†์ƒ ์ˆ˜์ •์ด ํฌํ•จ๋œ PostgreSQL 14.4 ์—…๋ฐ์ดํŠธ

ํŠน์ • ์ƒํ™ฉ์—์„œ "CREATE INDEX CONCURRENTLY" ๋ฐ "REINDEX CONCURRENTLY" ๋ช…๋ น์„ ์‹คํ–‰ํ•  ๋•Œ ์ธ๋ฑ์Šค์—์„œ ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ์†์ƒ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” PostgreSQL DBMS 14.4์˜ ์ˆ˜์ • ๋ฆด๋ฆฌ์Šค๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€์ •๋œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ์ธ๋ฑ์Šค์—์„œ๋Š” ์ผ๋ถ€ ๋ ˆ์ฝ”๋“œ๊ฐ€ ๊ณ ๋ ค๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋กœ ์ธํ•ด ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์ธ๋ฑ์Šค์™€ ๊ด€๋ จ๋œ SELECT ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ํ–‰์ด ๋ˆ„๋ฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

B-ํŠธ๋ฆฌ ์ธ๋ฑ์Šค๊ฐ€ ์†์ƒ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด "pg_amcheck โ€“heapallindexed db_name" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฆด๋ฆฌ์Šค์—์„œ ๋‹ค๋ฅธ ์œ ํ˜•์˜ ์ธ๋ฑ์Šค(GiST, GIN ๋“ฑ)์™€ ํ•จ๊ป˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ๊ฑฐ๋‚˜ "CREATE INDEX CONCURRENTLY" ๋ฐ "REINDEX CONCURRENTLY" ๋ช…๋ น์„ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ ๋ฒ„์ „ 14.4๋กœ ์—…๋ฐ์ดํŠธํ•œ ํ›„ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์žฌ์ธ๋ฑ์‹ฑ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. "reindexdb โ€”all" ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋˜๋Š” "REINDEX CONCURRENTLY index_name" ๋ช…๋ น.

์ด ๋ฌธ์ œ๋Š” VACUUM ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ "CREATE INDEX CONCURRENTLY" ๋ฐ "REINDEX CONCURRENTLY" ์‹คํ–‰๊ณผ ๊ด€๋ จ๋œ ์ผ๋ถ€ ํŠธ๋žœ์žญ์…˜์„ ์ œ์™ธํ•˜๋Š” ์ตœ์ ํ™”๊ฐ€ ํฌํ•จ๋œ 14.x ๋ถ„๊ธฐ์—๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ตœ์ ํ™”์˜ ๊ฒฐ๊ณผ๋กœ CONCURRENTLY ๋ชจ๋“œ์—์„œ ์ƒ์„ฑ๋œ ์ธ๋ฑ์Šค์—๋Š” ์ธ๋ฑ์Šค ์ƒ์„ฑ ์ค‘์— ์—…๋ฐ์ดํŠธ๋˜๊ฑฐ๋‚˜ ์ž˜๋ฆฐ ํž™ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ผ๋ถ€ ํŠœํ”Œ์ด ํฌํ•จ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€