PostgreSQL 16 Korean translation
authorJonathan S. Katz <jonathan.katz@excoventures.com>
Wed, 13 Sep 2023 18:33:00 +0000 (14:33 -0400)
committerJonathan S. Katz <jonathan.katz@excoventures.com>
Wed, 13 Sep 2023 18:33:00 +0000 (14:33 -0400)
Author: Ioseph Kim <pgsql-kr@postgresql.kr>
Author: Lim Hye-jin

releases/16/release.ko.md [new file with mode: 0644]

diff --git a/releases/16/release.ko.md b/releases/16/release.ko.md
new file mode 100644 (file)
index 0000000..4465ec4
--- /dev/null
@@ -0,0 +1,149 @@
+2023๋…„ 9์›” 14์ผ, PostgreSQL ๊ธ€๋กœ๋ฒŒ ๊ฐœ๋ฐœ ๊ทธ๋ฃน์€ ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ์ง„๋ณด์ ์ธ ๊ณต๊ฐœ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ \r
+๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ „์ธ PostgreSQL 16์˜ ์ถœ์‹œ๋ฅผ ์•Œ๋ฆฝ๋‹ˆ๋‹ค.\r
+\r
+PostgreSQL 16์€ ํ–ฅ์ƒ๋œ ์ฟผ๋ฆฌ ๋ณ‘๋ ฌํ™”, ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ๋กœ๋“œ ๋ฐ ๋…ผ๋ฆฌ์  ๋ณต์ œ ๊ธฐ๋Šฅ์ด ๋ˆˆ์— ๋„๊ฒŒ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. \r
+์ด๋ฒˆ ๋ฐฐํฌํŒ์—๋Š” ๋” ๋งŽ์€ SQL/JSON ๊ตฌ๋ฌธ๊ณผ ์›Œํฌ๋กœ๋“œ์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๋ชจ๋‹ˆํ„ฐ๋ง ํ†ต๊ณ„, ๋Œ€๊ทœ๋ชจ ์ง‘๋‹จ์˜ ์ •์ฑ… ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ \r
+์ ‘๊ทผ ์ œ์–ด ๊ทœ์น™์„ ์ •์˜ํ•˜๋Š” ์œ ์—ฐ์„ฑ์„ ํฌํ•จํ•˜์—ฌ ๊ฐœ๋ฐœ์ž์™€ ๊ด€๋ฆฌ์ž ๋ชจ๋‘๋ฅผ ์œ„ํ•œ ๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์ด ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\r
+\r
+์‹ ๋ขฐ์„ฑ๊ณผ ๊ฒฌ๊ณ ์„ฑ์œผ๋กœ ์œ ๋ช…ํ•œ ํ˜์‹ ์ ์ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ธ PostgreSQL์€ ๊ธ€๋กœ๋ฒŒ ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ 35๋…„ ์ด์ƒ ๊ณต๊ฐœ \r
+์†Œ์Šค๋กœ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•ด์„œ ๋ชจ๋“  ๊ทœ๋ชจ์˜ ์กฐ์ง์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ฐœ ์†Œ์Šค ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\r
+\r
+### ์„ฑ๋Šฅ ํ–ฅ์ƒ\r
+\r
+PostgreSQL 16์€ ์ƒˆ๋กœ์šด ์ฟผ๋ฆฌ ํ”Œ๋žœ ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ๊ธฐ์กด PostgreSQL ๊ธฐ๋Šฅ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.\r
+์ด๋ฒˆ ์ตœ์‹  ๋ฐฐํฌํŒ์—์„œ ์ฟผ๋ฆฌ ํ”Œ๋ž˜๋„ˆ๋Š” `FULL`๊ณผ `RIGHT` ์กฐ์ธ์„ ๋ณ‘๋ ฌํ™”ํ•˜๊ณ  `SELECT DISTINCT`\r
+์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์ฆ๋ถ„ ์ •๋ ฌ์„ ์‚ฌ์šฉํ•˜๊ณ  ์œˆ๋„์šฐ ํ•จ์ˆ˜ ์‹คํ–‰์„ ์ตœ์ ํ™”ํ•˜์—ฌ ํšจ์œจ์ ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\r
+๋˜ํ•œ `RIGHT`์™€ `OUTER` "anti-joins"์„ ๋„์ž…ํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฒฐํ•ฉ๋œ ํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ–‰์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.\r
+\r
+์ด๋ฒˆ ๋ฐฐํฌํŒ์—๋Š” ๋‹จ์ผ ์ž‘์—…๊ณผ ๋™์‹œ ์ž‘์—… ๋ชจ๋‘์—์„œ `COPY`๋ฅผ ์ด์šฉํ•œ ๋Œ€๋Ÿ‰ ๋กœ๋“œ์— ๋Œ€ํ•œ ๊ฐœ์„  ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, \r
+ํŠน์ • ํ…Œ์ŠคํŠธ์—์„œ๋Š” ์„ฑ๋Šฅ์ด ์ตœ๋Œ€ 300%๊ฐ€๋Ÿ‰ ํ–ฅ์ƒ๋œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. PostgreSQL์€ `libpq`๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ์—์„œ \r
+๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์„ ์ง€์›ํ•˜๊ณ , ํ…Œ์ด๋ธ” ์ „์ฒด ํ”„๋ฆฌ์ง• ์ž‘์—…์„ ์ค„์ด๊ธฐ ์œ„ํ•ด VACUUM ๋ฐฉ๋ฒ•์„ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ PostgreSQL 16์€ \r
+x86๊ณผ ARM ์•„ํ‚คํ…์ฒ˜์—์„œ `SIMD`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ CPU๋ฅผ ๊ฐ€์†ํ™”ํ•ด ASCII ๋ฐ JSON ๋ฌธ์ž์—ด์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  \r
+๋ฐฐ์—ด ๋ฐ ์„œ๋ธŒ ํŠธ๋žœ์žญ์…˜ ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\r
+\r
+### ๋…ผ๋ฆฌ์  ๋ณต์ œ\r
+\r
+๋…ผ๋ฆฌ์  ๋ณต์ œ๋ฅผ ํ†ตํ•ด PostgreSQL ์‚ฌ์šฉ์ž๋Š” PostgreSQL ๋…ผ๋ฆฌ์  ๋ณต์ œ ํ”„๋กœํ† ์ฝœ์„ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ PostgreSQL \r
+์ธ์Šคํ„ด์Šค ๋˜๋Š” ๊ตฌ๋…์ž์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ŠคํŠธ๋ฆฌ๋ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PostgreSQL 16์—์„œ ์‚ฌ์šฉ์ž๋Š” ์Šคํƒ ๋ฐ”์ด ์ธ์Šคํ„ด์Šค์—์„œ ๋…ผ๋ฆฌ์  ๋””์ฝ”๋”ฉ์„ \r
+์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ , ์ด๋Š” ์Šคํƒ ๋ฐ”์ด๊ฐ€ ๋…ผ๋ฆฌ์  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋‹ค๋ฅธ ์„œ๋ฒ„์— ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. \r
+์ด๊ฒƒ์€ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ์ƒˆ๋กœ์šด ์›Œํฌ๋กœ๋“œ ๋ฐฐํฌ ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋” ๋ฐ”์œ ๊ธฐ๋ณธ ์ž‘์—…์ด ์•„๋‹Œ ๋Œ€๊ธฐ ์ž‘์—…์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ \r
+๋…ผ๋ฆฌ์ ์œผ๋กœ ๋‹ค์šด์ŠคํŠธ๋ฆผ ์‹œ์Šคํ…œ์— ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค.\r
+\r
+๋˜ํ•œ ๋…ผ๋ฆฌ์  ๋ณต์ œ์— ๋Œ€ํ•œ ๋ช‡๊ฐ€์ง€ ์„ฑ๋Šฅ์ด PostgreSQL 16์—์„œ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ตฌ๋…์„œ๋ฒ„๋Š” ๋ณ‘๋ ฌ ์ž‘์—…์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ \r
+๋Œ€๊ทœ๋ชจ ํŠธ๋žœ์žญ์…˜์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. `PRIMARY KEY`๊ฐ€ ์—†๋Š” ํ…Œ์ด๋ธ”์˜ ๊ฒฝ์šฐ, ๊ตฌ๋…์„œ๋ฒ„๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด \r
+์‹œํ€€์Šค ์Šค์บ” ๋Œ€์‹  B-ํŠธ๋ฆฌ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • ์กฐ๊ฑด์—์„œ๋Š” ์ดˆ๊ธฐ ํ…Œ์ด๋ธ” ๋™๊ธฐํ™” ๋•Œ ์ด์ง„ ์–‘์‹์„ ์‚ฌ์šฉํ•˜์—ฌ \r
+์†๋„๋ฅผ ๋†’์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.\r
+\r
+PostgreSQL 16์˜ ๋…ผ๋ฆฌ์  ๋ณต์ œ์—๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ƒˆ ๋…ผ๋ฆฌ์  ๊ตฌ๋…์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ์ƒˆ๋กญ๊ฒŒ ์ •์˜๋œ \r
+pg_create_subscription ๋กค์ด ์ถ”๊ฐ€๋˜์—ˆ๊ณ , ๋ช‡ ๊ฐ€์ง€ ์•ก์„ธ์Šค ์ œ์–ด ๊ธฐ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\r
+๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋ฒˆ ๋ฐฐํฌํŒ์—์„œ๋Š” ์–‘๋ฐฉํ–ฅ ๋…ผ๋ฆฌ ๋ณต์ œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์„œ๋กœ ๋ฐœํ–‰์„œ๋ฒ„์˜ ๋‘ ํ…Œ์ด๋ธ” ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์ œํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.\r
+\r
+### ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜\r
+\r
+PostgreSQL 16์€ SQL/JSON ํ‘œ์ค€ ๊ทœ์•ฝ์„ ๋”ฐ๋ฅด๋Š” `JSON_ARRAY()`, `JSON_ARRAYAGG()`, `IS JSON`\r
+๊ณผ ๊ฐ™์€ ์ƒ์„ฑ์ž์™€ ์ˆ ์–ด ๊ตฌ๋ฌธ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด๋ฒˆ ๋ฐฐํฌํŒ์—์„œ๋Š” `0x1538`, `0o12470`, ๋ฐ `0b1010100111000`๊ณผ\r
+ ๊ฐ™์€ ์‹ญ์ง„์ˆ˜๊ฐ€ ์•„๋‹Œ ์ •์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด๊ณผ ๋ฐ‘์ค„(_)์„ ์ฒœ๋‹จ์œ„ ๊ตฌ๋ถ„์ž๋กœ (์˜ˆ: `5_432_000`)์“ธ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ๋„ ํฌํ•จํ–ˆ์Šต๋‹ˆ๋‹ค.\r
+\r
+PostgreSQL 16์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋“ค์€ `psql` ํด๋ผ์ด์–ธํŠธ ํ”„๋กœํ† ์ฝœ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ช…๋ น์–ด๋ฅผ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ ํ˜œํƒ์„ ์–ป์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. \r
+๋˜ํ•œ, ๋งค๊ฐœ๋ณ€์ˆ˜ํ™”๋œ ์ฟผ๋ฆฌ(์˜ˆ: `SELECT $1 + $2`)๋ฅผ ์‹คํ–‰ํ•œ ํ›„ ๋ณ€์ˆ˜๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด `\bind`๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\r
+\r
+PostgreSQL 16์€ ๋ฌธ์ž ์ •๋ ฌ ๊ทœ์น™์„ ์ œ๊ณตํ•˜๋Š” ํ…์ŠคํŠธ ๋Œ€์กฐ์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ์ง€์› ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. PostgreSQL 16์€ ๊ธฐ๋ณธ์ ์œผ๋กœ \r
+ICU๋ฅผ ์ง€์›ํ•˜๊ณ  ํ™˜๊ฒฝ์„ค์ •์— ๋”ฐ๋ผ ๊ธฐ๋ณธ ICU ๋กœ์ผ€์ผ์„ ๊ฒฐ์ •ํ•˜๋ฉฐ ์‚ฌ์šฉ์ž ์ง€์ • ICU ๋Œ€์กฐ ๊ทœ์น™์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋นŒ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\r
+\r
+### ๋ชจ๋‹ˆํ„ฐ๋ง\r
+\r
+๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์›Œํฌ๋กœ๋“œ์˜ ์„ฑ๋Šฅ์„ ์กฐ์ •ํ•˜๋Š”๋ฐ ์žˆ์–ด ํ•ต์‹ฌ์ ์ธ ์ธก๋ฉด์€ I/O ์ž‘์—…์ด ์‹œ์Šคํ…œ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. \r
+PostgreSQL 16์€์ƒˆ๋กœ์šด pg_stat_io ๋ทฐ๋ฅผ ํ†ตํ•ด ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฐ„์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. \r
+์ด ๋ทฐ๋Š” shared_buffer hits ๋ฐ I/O ์ง€์—ฐ ์‹œ๊ฐ„๊ณผ ๊ฐ™์€ ์ฃผ์š” I/O ํ†ต๊ณ„๋ฅผ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค.\r
+\r
+๋˜ํ•œ ์ด๋ฒˆ ๋ฐฐํฌํŒ์—์„œ๋Š” ํ…Œ์ด๋ธ” ๋˜๋Š” ์ธ๋ฑ์Šค๊ฐ€ ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ฒ€์ƒ‰๋œ ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋‚ด๋Š” ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ๊ธฐ๋กํ•˜๋Š” ์ปฌ๋Ÿผ์„ `pg_stat_all_tables`์— \r
+์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. PostgreSQL์€ ๋งค๊ฐœ ๋ณ€์ˆ˜ํ™”๋œ ๋ฌธ์— ์ „๋‹ฌ๋œ ๊ฐ’์„ ๊ธฐ๋กํ•˜์—ฌ auto_explain์„ ๋” ์‰ฝ๊ฒŒ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ณ , \r
+pg_stat_activity์˜ ์ˆ˜ํ–‰ ์ฟผ๋ฆฌ ํš์ผํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ •ํ™•๋„๋ฅผ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.\r
+\r
+\r
+### ์ ‘๊ทผํ†ต์ œ ๋ฐ ๋ณด์•ˆ\r
+\r
+PostgreSQL 16์€ ์•ก์„ธ์Šค ์ œ์–ด๋ฅผ ์œ„ํ•œ ์„ธ๋ถ„ํ™”๋œ ์˜ต์…˜์„ ์ œ๊ณตํ•˜๊ณ  ๋‹ค๋ฅธ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ๊ฐ•ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.\r
+์ด๋ฒˆ ๋ฐฐํฌํŒ์—๋Š” ์‚ฌ์šฉ์ž์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„์— ๋Œ€ํ•œ ์ •๊ทœ ํ‘œํ˜„์‹ ์ผ์น˜์™€ ์™ธ๋ถ€ ๊ตฌ์„ฑ ํŒŒ์ผ์— ๋Œ€ํ•œ "include" ๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๋“ฑ\r
+ `pg_hba.conf`์™€ `pg_ident.conf`ํŒŒ์ผ์˜ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.\r
+\r
+์ด๋ฒˆ ๋ฐฐํฌํŒ์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—์„œ ์–ด๋–ค ์ธ์ฆ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ฐ›์•„๋“ค์ผ ๊ฒƒ์ธ์ง€ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” `require_auth`์™€ \r
+PostgreSQL์ด ํด๋ผ์ด์–ธํŠธ์˜ ์šด์˜ ์ฒด์ œ์—์„œ ์ œ๊ณตํ•˜๋Š” CA(์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ ๊ธฐ๊ด€) ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๋Š” \r
+`sslrootcert="system"`์„ ํฌํ•จํ•œ ์—ฌ๋Ÿฌ๋ณด์•ˆ ์ง€ํ–ฅ ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\r
+๋˜ํ•œ ์ด๋ฒˆ ๋ฐฐํฌํŒ์€ Kerberos ์ž๊ฒฉ ์ฆ๋ช… ์œ„์ž„์„ ์ง€์›ํ•˜๋ฏ€๋กœ `postgres_fdw`๋‚˜ `dblink`์™€ ๊ฐ™์€ ํ™•์žฅ๋ชจ๋“ˆ์„ \r
+์ธ์ฆ๋œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\r
+\r
+### PostgreSQL ์ •๋ณด\r
+\r
+[PostgreSQL](https://www.postgresql.org) ์€ ์ˆ˜์ฒœ ๋ช…์˜ ์‚ฌ์šฉ์ž, ๊ธฐ์—ฌ์ž, ํšŒ์‚ฌ ๋ฐ ์กฐ์ง์˜ ์„ธ๊ณ„์ ์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ \r
+๋ณด์œ ํ•œ ์„ธ๊ณ„ ์ตœ๊ณ  ์ˆ˜์ค€์˜์˜คํ”ˆ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. ์บ˜๋ฆฌํฌ๋‹ˆ์•„, ๋ฒ„ํด๋ฆฌ ๋Œ€ํ•™๊ต๋ฅผ ์‹œ์ž‘์œผ๋กœ 35๋…„ ์ด์ƒ์˜ ์—”์ง€๋‹ˆ์–ด๋ง ๊ธฐ๋ฐ˜์œผ๋กœ \r
+๊ตฌ์ถ•๋œ PostgreSQL์€ ํƒ€์˜ ์ถ”์ข…์„ ๋ถˆํ—ˆํ•˜๋Š” ์†๋„๋กœ ๊ณ„์† ๋ฐœ์ „ํ•ด์™”์Šต๋‹ˆ๋‹ค. PostgreSQL์˜ ์™„์„ฑ๋„ ๋†’์€ ๊ธฐ๋Šฅ๋“ค์€ ์ƒ์šฉ \r
+๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ๊ณผ ๊ฑฐ์˜ ๊ฐ™์œผ๋ฉฐ, ํ™•์žฅ์„ฑ, ๋ณด์•ˆ ๋ฐ ์•ˆ์ •์„ฑ ์ธก๋ฉด์—์„œ๋„ ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค.\r
+\r
+### ๋งํฌ\r
+\r
+* [๋‹ค์šด๋กœ๋“œ](https://www.postgresql.org/download/)\r
+* [์ถœ์‹œ ์†Œ์‹](https://www.postgresql.org/docs/16/release-16.html)\r
+* [ํ™๋ณด๊ธ€](https://www.postgresql.org/about/press/)\r
+* [๋ณด์•ˆ ์ •๋ณด](https://www.postgresql.org/support/security/)\r
+* [๋ฒ„์ „ ์ •์ฑ…](https://www.postgresql.org/support/versioning/)\r
+* [ํŠธ์œ„ํ„ฐ ํŒ”๋กœ์šฐ @postgresql](https://twitter.com/postgresql)\r
+* [๊ธฐ๋ถ€](https://www.postgresql.org/about/donate/)\r
+\r
+## ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ\r
+\r
+๊ธฐ๋Šฅ ๋ฐ ๊ธฐํƒ€์‚ฌํ•ญ์— ๋Œ€ํ•œ ์„ค๋ช…์€ ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.\r
+๋ฆฌ์†Œ์Šค:\r
+\r
+* [์ถœ์‹œ ์†Œ์‹](https://www.postgresql.org/docs/16/release-16.html)\r
+* [๊ธฐ๋Šฅ ๋งคํŠธ๋ฆญ](https://www.postgresql.org/about/featurematrix/)\r
+\r
+## ๋‹ค์šด๋กœ๋“œํ•  ์œ„์น˜\r
+\r
+๊ณต์‹ ๋‹ค์šด๋กœ๋“œ ํŽ˜์ด์ง€์—์„œ Windows, Linux, macOS ์™ธ ๊ธฐํƒ€ ์šด์˜์ฒด์ œ์šฉ ์„ค์น˜ํŒŒ์ผ๊ณผ ๋„๊ตฌ๋“ค์„ ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\r
+PostgreSQL 16์„ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:\r
+\r
+* [๊ณต์‹ ๋‹ค์šด๋กœ๋“œ](https://www.postgresql.org/download/)ํŽ˜์ด์ง€์—๋Š” [Windows](https://www.postgresql.org/download/windows/), [Linux](https://www.postgresql.org/download/linux/), [macOS](https://www.postgresql.org/download/macosx/) ๋“ฑ์˜ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.\r
+* [์ถœ์ฒ˜์ฝ”๋“œ](https://www.postgresql.org/ftp/source/v16.0)\r
+\r
+๊ธฐํƒ€ ๋„๊ตฌ ๋ฐ ํ™•์žฅ ๋ชจ๋“ˆ์€ [PostgreSQL Extension Network](http://pgxn.org/) ์—์„œ ํ™•์ธํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.\r
+\r
+## ๋ฌธ์„œ\r
+\r
+PostgreSQL 16์€ HTML ๋ฌธ์„œ์™€ man ํŽ˜์ด์ง€๊ฐ€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋ฉฐ, ์˜จ๋ผ์ธ์œผ๋กœ HTML ์–‘์‹๊ณผ PDF ์–‘์‹๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. [HTML](https://www.postgresql.org/docs/16/) [PDF](https://www.postgresql.org/files/documentation/pdf/16/postgresql-16-US.pdf)\r
+\r
+## ๋ผ์ด์„ผ์Šค\r
+\r
+PostgreSQL[PostgreSQL License](https://www.postgresql.org/about/licence/)์€ BSD์™€ ๊ฐ™์€ \r
+"ํ—ˆ์šฉ" ๋ผ์ด์„ผ์Šค์ธ PostgreSQL ๋ผ์ด์„ผ์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. [OSI ์ธ์ฆ ๋ผ์ด์„ผ์Šค](http://www.opensource.org/licenses/postgresql/) \r
+์ƒ์šฉ ๋˜๋Š” ๋…์  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ PostgreSQL ์‚ฌ์šฉ์„ ์ œํ•œํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์œ ์—ฐํ•˜๊ณ  ๋น„์ฆˆ๋‹ˆ์Šค ์นœํ™”์ ์ด๋ผ๋Š” ํ‰๊ฐ€๋ฅผ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.\r
+์—ฌ๋Ÿฌ ํšŒ์‚ฌ๋“ค์˜ ์ง€์›๊ณผ ์ฝ”๋“œ ๊ณต๊ฐœ๋กœ ์ด ๋ผ์ด์„ผ์Šค๋Š” PostgreSQL์„ ์‚ฌ์šฉ๋ฃŒ, ๊ณต๊ธ‰์—…์ฒด ์ข…์†์„ฑ, ๋ผ์ด์„ ์Šค ์กฐ๊ฑด ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ๋‘๋ ค์›€ ์—†์ด \r
+์ž์ฒด ์ œํ’ˆ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋‚ด์žฅํ•˜๋ ค๋Š” ๊ณต๊ธ‰์—…์ฒด์—๊ฒŒ ์ธ๊ธฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.\r
+\r
+\r
+## ์—ฐ๋ฝ์ฒ˜\r
+\r
+ํ™ˆํŽ˜์ด์ง€\r
+\r
+* [https://www.postgresql.org/](https://www.postgresql.org/)\r
+\r
+์ด๋ฉ”์ผ\r
+\r
+* [press@postgresql.org](mailto:press@postgresql.org)\r
+\r
+## ์ด๋ฏธ์ง€์™€ ๋กœ๊ณ \r
+Postgres, PostgreSQL, ์ฝ”๋ผ๋ฆฌ ๋กœ๊ณ (์Šฌ๋กœ๋‹‰)๋Š” ์บ๋‚˜๋‹ค PostgreSQL ์ปค๋ฎค๋‹ˆํ‹ฐ ํ˜‘ํšŒ์˜ ๊ณ ์œ  ์ƒํ‘œ๊ถŒ์œผ๋กœ ๋“ฑ๋ก๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. \r
+[PostgreSQL Community Association of Canada](https://www.postgres.ca).\r
+์ด ์ด๋ฏธ์ง€์™€ ๋กœ๊ณ ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, ์ƒํ‘œ ์ •์ฑ…์„ ์ค€์ˆ˜ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.\r
+[trademark policy](https://www.postgresql.org/about/policies/trademarks/).\r
+\r
+## ํ˜‘๋ ฅ ์ง€์›\r
+\r
+PostgreSQL์€ ๊ฐœ๋ฐœ์ž ํ›„์›, IT ์ž์› ์ œ๊ณต, ์žฌ์ • ์ง€์› ๋“ฑ ๋‹ค์–‘ํ•œ ์บ ํŽ˜์ธ ํ˜•ํƒœ์˜ ์ง€์›์„ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. \r
+ํ˜„์žฌ ์ง€์›ํ•˜๊ณ  ์žˆ๋Š” ํ›„์› ๋ชฉ๋ก์„ ์‚ดํŽด๋ณด์„ธ์š”. [sponsors](https://www.postgresql.org/about/sponsors/)\r
+\r
+๋˜ํ•œ ๊ฐœ๋ณ„ ์ปจ์„คํ„ดํŠธ์—์„œ ๋‹ค๊ตญ์  ๊ธฐ์—…์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ PostgreSQL ์ง€์›์„ ์ œ๊ณตํ•˜๋Š” ๋Œ€๊ทœ๋ชจ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.\r
+[companies offering PostgreSQL Support](https://www.postgresql.org/support/professional_support/),\r
+\r
+PostgreSQL ๊ธ€๋กœ๋ฒŒ ๊ฐœ๋ฐœ ๊ทธ๋ฃน์ด๋‚˜ ๊ธฐํƒ€ PostgreSQL ๊ด€๋ จ ๋ถ„๋ช…ํ•œ ๋น„์˜๋ฆฌ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์žฌ์ •์  ๊ธฐ๋ถ€๋ฅผ ํ•˜๋ ค๋ฉด ๊ธฐ๋ถ€ ํŽ˜์ด์ง€๋ฅผ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค. \r
+[donations](https://www.postgresql.org/about/donate/)\r