PostgreSQL 11: Postgres 9.6์—์„œ Postgres 11๋กœ์˜ ํŒŒํ‹ฐ์…”๋‹ ์ง„ํ™”

๋ชจ๋‘ ์ฆ๊ฑฐ์šด ๊ธˆ์š”์ผ ๋ณด๋‚ด์„ธ์š”! ๊ฐ•์ขŒ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ๊นŒ์ง€ ๋‚จ์€ ์‹œ๊ฐ„์ด ์ ์  ์ค„์–ด๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. "๊ด€๊ณ„ํ˜• DBMS", ๊ทธ๋ž˜์„œ ์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” ์ฃผ์ œ์— ๊ด€ํ•œ ๋˜ ๋‹ค๋ฅธ ์œ ์šฉํ•œ ์ž๋ฃŒ์˜ ๋ฒˆ์—ญ์„ ๊ณต์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ์ค‘ PostgreSQL 11 ํ…Œ์ด๋ธ” ํŒŒํ‹ฐ์…”๋‹์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ์ธ์ƒ์ ์ธ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŒŒํ‹ฐ์…˜ ๋‚˜๋ˆ„๊ธฐ ํ…Œ์ด๋ธ” - ์ด๊ฒƒ์€ ๊ฝค ์˜ค๋žซ๋™์•ˆ PostgreSQL์— ์กด์žฌํ–ˆ๋˜ ๊ธฐ๋Šฅ์ด์ง€๋งŒ, ๋งํ•˜์ž๋ฉด ๋ฒ„์ „ 10๊นŒ์ง€๋Š” ๋ณธ์งˆ์ ์œผ๋กœ ์กด์žฌํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ, ๋ฒ„์ „ XNUMX์—์„œ๋Š” ๋งค์šฐ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด์ „์— ํ…Œ์ด๋ธ” ์ƒ์†์ด ๋ถ„ํ•  ๊ตฌํ˜„์ด๋ผ๊ณ  ๋งํ–ˆ๋Š”๋ฐ ์ด๋Š” ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ์ž‘์—…์„ ์ˆ˜๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, INSERT ์ค‘์— ์„น์…˜์— ํŠœํ”Œ์„ ์‚ฝ์ž…ํ•˜๋ ค๋ฉด ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ƒ์†์„ ํ†ตํ•œ ๋ถ„ํ• ์€ ๋งค์šฐ ๋Š๋ฆฌ๊ณ  ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค.

PostgreSQL 10์—์„œ๋Š” ๊ธฐ์กด ์ƒ์† ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์—ˆ๋˜ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ๊ธฐ๋Šฅ์ธ "์„ ์–ธ์  ํŒŒํ‹ฐ์…”๋‹"์ด ํƒ„์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜ํ‰์œผ๋กœ ๋ถ„ํ• ํ•  ์ˆ˜ ์žˆ๋Š” ํ›จ์”ฌ ๋” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๊ฐ€ ํƒ„์ƒํ–ˆ์Šต๋‹ˆ๋‹ค!

๊ธฐ๋Šฅ ๋น„๊ต

PostgreSQL 11์—๋Š” ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ๋ถ„ํ• ๋œ ํ…Œ์ด๋ธ”์„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋”์šฑ ํˆฌ๋ช…ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ์ธ์ƒ์ ์ธ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์„ธํŠธ๊ฐ€ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

PostgreSQL 11: Postgres 9.6์—์„œ Postgres 11๋กœ์˜ ํŒŒํ‹ฐ์…”๋‹ ์ง„ํ™”
PostgreSQL 11: Postgres 9.6์—์„œ Postgres 11๋กœ์˜ ํŒŒํ‹ฐ์…”๋‹ ์ง„ํ™”
PostgreSQL 11: Postgres 9.6์—์„œ Postgres 11๋กœ์˜ ํŒŒํ‹ฐ์…”๋‹ ์ง„ํ™”
1. ์ œํ•œ ์˜ˆ์™ธ ์‚ฌ์šฉ
2. ๋…ธ๋“œ๋งŒ ์ถ”๊ฐ€
3. ํŒŒํ‹ฐ์…˜๋˜์ง€ ์•Š์€ ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•˜๋Š” ํŒŒํ‹ฐ์…˜๋œ ํ…Œ์ด๋ธ”์—๋งŒ ํ•ด๋‹น
4. ์ธ๋ฑ์Šค์—๋Š” ํŒŒํ‹ฐ์…˜์˜ ๋ชจ๋“  ํ‚ค ์—ด์ด ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
5. ์–‘์ธก์˜ ์„น์…˜ ์ œํ•œ์ด ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ะŸั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ

์—ฌ๊ธฐ์—๋„ ์ข‹์€ ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒˆ๋กœ์šด ๋ฉ”์†Œ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค ์„น์…˜ ์‚ญ์ œ. ์ด ์ƒˆ๋กœ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ฟผ๋ฆฌ ์กฐ๊ฑด์„ ๋ณด๊ณ  ์ ํ•ฉํ•œ ์„น์…˜์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. WHERE. ์ด์ „ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ฐจ๋ก€๋กœ ๊ฐ ์„น์…˜์„ ๊ฒ€์‚ฌํ•˜์—ฌ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. WHERE. ์ด๋กœ ์ธํ•ด ์„น์…˜ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ๊ณ„ํš ์‹œ๊ฐ„์ด ์ถ”๊ฐ€๋กœ ๋Š˜์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค.

9.6์—์„œ๋Š” ์ƒ์†์„ ํ†ตํ•œ ๋ถ„ํ• ์„ ํ†ตํ•ด ํŠœํ”Œ์„ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋ผ์šฐํŒ…ํ•˜๋Š” ์ž‘์—…์€ ์ผ๋ฐ˜์ ์œผ๋กœ ํŠœํ”Œ์„ ์˜ฌ๋ฐ”๋ฅธ ํŒŒํ‹ฐ์…˜์— ์‚ฝ์ž…ํ•˜๋Š” ์ผ๋ จ์˜ IF ๋ฌธ์ด ํฌํ•จ๋œ ํŠธ๋ฆฌ๊ฑฐ ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์€ ์‹คํ–‰ ์†๋„๊ฐ€ ๋งค์šฐ ๋Š๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „ 10์— ์„ ์–ธ์  ํŒŒํ‹ฐ์…”๋‹์ด ์ถ”๊ฐ€๋˜๋ฉด ํ›จ์”ฌ ๋” ๋น ๋ฅด๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

100๊ฐœ์˜ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋ถ„ํ• ๋œ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜๋ฉด 10๊ฐœ์˜ BIGINT ์—ด๊ณผ 1๊ฐœ์˜ INT ์—ด์ด ์žˆ๋Š” ํ…Œ์ด๋ธ”์— 5์ฒœ๋งŒ ํ–‰์„ ๋กœ๋“œํ•˜๋Š” ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PostgreSQL 11: Postgres 9.6์—์„œ Postgres 11๋กœ์˜ ํŒŒํ‹ฐ์…”๋‹ ์ง„ํ™”

์ด ํ…Œ์ด๋ธ”์„ ์ฟผ๋ฆฌํ•˜์—ฌ ํ•˜๋‚˜์˜ ์ƒ‰์ธํ™”๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฐพ๊ณ  DML์„ ์‹คํ–‰ํ•˜์—ฌ ํ•˜๋‚˜์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ์„ฑ๋Šฅ(1๊ฐœ์˜ ํ”„๋กœ์„ธ์„œ๋งŒ ์‚ฌ์šฉ):

PostgreSQL 11: Postgres 9.6์—์„œ Postgres 11๋กœ์˜ ํŒŒํ‹ฐ์…”๋‹ ์ง„ํ™”

์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” PG 9.6 ์ดํ›„ ๊ฐ ์ž‘์—…์˜ ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์š”์ฒญ์‚ฌํ•ญ SELECT ํŠนํžˆ ์ฟผ๋ฆฌ ๊ณ„ํš ์ค‘์— ์—ฌ๋Ÿฌ ํŒŒํ‹ฐ์…˜์„ ์ œ์™ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ํ›จ์”ฌ ๋” ์ข‹์•„ ๋ณด์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์ด์ „์— ์ˆ˜ํ–‰ํ–ˆ์–ด์•ผ ํ–ˆ๋˜ ๋งŽ์€ ์ž‘์—…์„ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ถˆํ•„์š”ํ•œ ์„น์…˜์— ๋Œ€ํ•ด์„œ๋Š” ๋” ์ด์ƒ ๊ฒฝ๋กœ๊ฐ€ ๊ตฌ์ถ•๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

ํ…Œ์ด๋ธ” ํŒŒํ‹ฐ์…”๋‹์€ PostgreSQL์—์„œ ๋งค์šฐ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์ด ๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋Š๋ฆฌ๊ณ  ๋Œ€๊ทœ๋ชจ DML ์ž‘์—…์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์˜จ๋ผ์ธ์œผ๋กœ ์‹ ์†ํ•˜๊ฒŒ ํ‘œ์‹œํ•˜๊ณ  ์˜คํ”„๋ผ์ธ์œผ๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.. ์ด๋Š” ๋˜ํ•œ ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ํ•จ๊ป˜ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฉฐ, ์ด๋Š” ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ์— ํ›จ์”ฌ ๋” ํšจ์œจ์ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฒ„์ „์˜ ๊ฐœ์„  ์‚ฌํ•ญ์€ ์ด๋Ÿฌํ•œ ๋ชจ๋“  ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ๋Š์ž„์—†์ด ๋…ธ๋ ฅํ•œ ๊ฐœ๋ฐœ์ž, ๊ฒ€ํ† ์ž ๋ฐ ์ปค๋ฏธํ„ฐ๊ฐ€ ์—†์—ˆ๋‹ค๋ฉด ๋ถˆ๊ฐ€๋Šฅํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ทธ๋“ค ๋ชจ๋‘์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! PostgreSQL 11์€ ํ™˜์ƒ์ ์ž…๋‹ˆ๋‹ค!

์งง์ง€๋งŒ ๊ฝค ํฅ๋ฏธ๋กœ์šด ๊ธฐ์‚ฌ๊ฐ€ โ€‹โ€‹์žˆ์Šต๋‹ˆ๋‹ค. ์˜๊ฒฌ์„ ๊ณต์œ ํ•˜๊ณ  ๊ฐ€์ž…ํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์„ธ์š”. ์˜คํ”ˆ ๋ฐ์ด, ๊ทธ ์•ˆ์— ์ฝ”์Šค ํ”„๋กœ๊ทธ๋žจ์ด ์ž์„ธํžˆ ์„ค๋ช…๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

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