XNUMX๋
์ ๊ฐ๋ฐ ๋์
- ๊ตฌํ
์ค๋ณต ์ ๊ฑฐ ์ค๋ณต๋ ๋ฐ์ดํฐ๊ฐ ์๋ ๋ ์ฝ๋๋ฅผ ์ธ๋ฑ์ฑํ ๋ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํฅ์์ํค๊ณ ๋์คํฌ ๊ณต๊ฐ ์๋ชจ๋ฅผ ์ค์ผ ์ ์์์ต๋๋ค. ์ค๋ณต ์ ๊ฑฐ๋ ๋ฐ๋ณต๋๋ ํํ ๊ทธ๋ฃน์ ๋ณํฉํ๊ณ ์ค๋ณต ํญ๋ชฉ์ ํ๋์ ์ ์ฅ๋ ๋ณต์ฌ๋ณธ์ ๋ํ ๋งํฌ๋ก ๋ฐ๊พธ๋ ํธ๋ค๋ฌ์ ์ฃผ๊ธฐ์ ์คํ์ ํตํด ์ํ๋ฉ๋๋ค. - ๋ค์์ ์ฌ์ฉํ๋ ์ฟผ๋ฆฌ์ ์ฑ๋ฅ์ด ํฅ์๋์์ต๋๋ค.
์ง๊ณ ํจ์ ,๊ทธ๋ฃนํ๋ ์ธํธ (๊ทธ๋ฃนํ ์ธํธ) ๋๋๋ถํ ๋ (ํํฐ์ ๋) ํ ์ด๋ธ. ์ต์ ํ์๋ ์ง๊ณ ์ ์ค์ ๋ฐ์ดํฐ ๋์ ํด์๋ฅผ ์ฌ์ฉํ๋ ์์ ์ด ํฌํจ๋์ด ์์ด ๋๊ท๋ชจ ์ฟผ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ ๋ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค. ํํฐ์ ๋ ์ ํํฐ์ ์ ์ญ์ ํ๊ฑฐ๋ ๋ณํฉํ ์ ์๋ ์ํฉ์ด ํ๋๋์์ต๋๋ค. - ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
๊ณ ๊ธ ํต๊ณ IN ๋๋ ANY ํํ์์ ์ฌ์ฉํ๋ OR ์กฐ๊ฑด์ด๋ ๋ชฉ๋ก ๊ฒ์์ ํฌํจํ๋ ์ฟผ๋ฆฌ์ ์์ฝ ํจ์จ์ฑ์ ๋์ด๊ธฐ ์ํด CREATE STATISTICS ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์์ฑ๋ฉ๋๋ค. - ์์
์ค ์ธ๋ฑ์ค ์ ๋ฆฌ๊ฐ ๊ฐ์ํ๋์์ต๋๋ค.
์ง๊ณต ์ธ๋ฑ์ค์์ ๊ฐ๋น์ง ์์ง์ ๋ณ๋ ฌํํฉ๋๋ค. ์๋ก์ด "PARALLEL" ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๋ฆฌ์๋ VACUUM์ ๋ํด ๋์์ ์คํ๋ ์ค๋ ๋ ์๋ฅผ ๊ฒฐ์ ํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ ์ฝ์ ํ ์๋ VACUUM ์คํ์ ์์ํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. - ์ด์ ๋จ๊ณ์์ ์ ๋ ฌ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ ์ฒ๋ฆฌ์ ํ์ ๋จ๊ณ์์ ์ ๋ ฌ ์๋๋ฅผ ๋์ผ ์ ์๋ ์ฆ๋ถ ์ ๋ ฌ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ฟผ๋ฆฌ ํ๋๋์์ ์๋ก์ด ์ต์ ํ๋ฅผ ํ์ฑํํ๋ ค๋ฉด "
ํ์ฑํ_์ฆ๋ถ_์ ๋ ฌ "๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ต๋๋ค. - ํฌ๊ธฐ๋ฅผ ์ ํํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
๋ณต์ ์ฌ๋กฏ , ๋ณต์ ๋ณธ์ ์์ ํ๋ ๋ชจ๋ ๋ฐฑ์ ์๋ฒ์์ ์์ ๋ ๋๊น์ง ์ฐ๊ธฐ ์ง์ฐ ๋ก๊ทธ(WAL) ์ธ๊ทธ๋จผํธ์ ๋ณด์กด์ ์๋์ผ๋ก ๋ณด์ฅํ ์ ์์ต๋๋ค. ๋ํ ๋ณต์ ์ฌ๋กฏ์ ๋ฐฑ์ ์๋ฒ๊ฐ ์คํ๋ผ์ธ์ธ ๊ฒฝ์ฐ์๋ ๊ธฐ๋ณธ ์๋ฒ๊ฐ ์ถฉ๋์ ์ผ์ผํฌ ์ ์๋ ํ์ ์ญ์ ํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค. ๋งค๊ฐ๋ณ์ ์ฌ์ฉmax_slot_wal_keep_size ์ด์ ๋์คํฌ ๊ณต๊ฐ ๋ถ์กฑ์ ๋ฐฉ์งํ๊ธฐ ์ํด WAL ํ์ผ์ ์ต๋ ํฌ๊ธฐ๋ฅผ ์ ํํ ์ ์์ต๋๋ค. - DBMS ํ๋ ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ์ด ํ์ฅ๋์์ต๋๋ค. EXPLAIN ๋ช
๋ น์ WAL ๋ก๊ทธ ์ฌ์ฉ์ ๋ํ ์ถ๊ฐ ํต๊ณ ํ์๋ฅผ ์ ๊ณตํฉ๋๋ค. V
pg_basebackup ์ง์์ ์ธ ๋ฐฑ์ ์ํ๋ฅผ ์ถ์ ํ ์ ์๋ ๊ธฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค. ANALYZE ๋ช ๋ น์ ์์ ์งํ ์ํฉ์ ํ์ํฉ๋๋ค. - ์๋ก์ด ๋ช
๋ น์ด ์ถ๊ฐ๋์์ต๋๋ค
pg_verify๋ฐฑ์ pg_basebackup ๋ช ๋ น์ผ๋ก ์์ฑ๋ ๋ฐฑ์ ์ ๋ฌด๊ฒฐ์ฑ์ ํ์ธํฉ๋๋ค. - ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ JSON์ผ๋ก ์์
ํ ๋
JSON ๊ฒฝ๋ก datetime() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์๊ฐ ํ์(ISO 8601 ๋ฌธ์์ด ๋ฐ ๊ธฐ๋ณธ PostgreSQL ์๊ฐ ์ ํ)์ ๋ณํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด "jsonb_path_query('["2015-8-1", "2015-08-12"]', '$[*] ? (@.datetime() < "2015-08-2 ๊ตฌ์ฑ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ".datetime ())')" ๋ฐ "jsonb_path_query_array('["12:30", "18:40"]', '$[*].datetime("HH24:MI")')". - ๋ด์ฅ ๊ธฐ๋ฅ ์ถ๊ฐ
gen_random_uuid () UUID v4๋ฅผ ์์ฑํฉ๋๋ค. - ํํฐ์
๋ ์์คํ
์ ๋
ผ๋ฆฌ์ ๋ณต์ ์ "BEFORE" ํํ์์ผ๋ก ์ง์ ๋ ๋ณต์ ์ ๋ํ ์๋ฒฝํ ์ง์์ ์ ๊ณตํฉ๋๋ค.
ํ ์์ค์์ ์๋ํ๋ ํธ๋ฆฌ๊ฑฐ์ ๋๋ค. - ๊ตฌ๋ฌธ "
๋จผ์ ๊ฐ์ ธ์ค๊ธฐ "๋ฅผ ์ฌ์ฉํ๋ฉด "ORDER BY"๋ฅผ ์ ์ฉํ ํ ์ป์ ๊ฒฐ๊ณผ ์งํฉ์ ๋์ ์๋ ์ถ๊ฐ ํ์ ๋ฐํํ๊ธฐ ์ํด "WITH TIES" ํํ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. - ์ ๋ขฐํ ์ ์๋ ์ถ๊ฐ ๊ธฐ๋ฅ ๊ฐ๋
๊ตฌํ(โ
์ ๋ขฐํ ์ ์๋ ํ์ฅ ํ๋ก๊ทธ๋จ ")๋ DBMS ๊ด๋ฆฌ์ ๊ถํ์ด ์๋ ์ผ๋ฐ ์ฌ์ฉ์๋ ์ค์นํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ถ๊ฐ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ์ฒ์์ ๋ฏธ๋ฆฌ ์ ์๋์ด ์์ผ๋ฉฐ ์ํผ์ ์ ๊ฐ ํ์ฅํ ์ ์์ต๋๋ค. ์ ๋ขฐํ ์ ์๋ ์ถ๊ฐ ๊ธฐ๋ฅ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.pgcrypto ,ํ ์ด๋ธ๊ธฐ๋ฅ ,h์คํ ์ด ๊ธฐํ - ์ธ๋ถ ํ
์ด๋ธ์ ์ฐ๊ฒฐํ๋ ๋ฉ์ปค๋์ฆ์ธ ์ธ๋ถ ๋ฐ์ดํฐ ๋ํผ(postgres_fdw)๋ ์ธ์ฆ์ ๊ธฐ๋ฐ ์ธ์ฆ์ ๋ํ ์ง์์ ๊ตฌํํฉ๋๋ค. SCRAM ์ธ์ฆ์ ์ฌ์ฉํ ๋ ํด๋ผ์ด์ธํธ๋ "
์ฑ๋ ๋ฐ์ธ๋ฉ "(์ฑ๋ ๋ฐ์ธ๋ฉ).
์ถ์ฒ : opennet.ru