[PostgreSQL] 도메인

도메인은 νƒ€μž…μ— λŒ€ν•œ λ³΄μΌλŸ¬ν”Œλ ˆμ΄νŠΈλΌκ³  ν•  수 μžˆλ‹€.
νƒ€μž…μ— λ””ν΄νŠΈκ°’, μ œμ•½μ‚¬ν•­ 등을 λ¬Άμ–΄μ„œ 또 ν•˜λ‚˜μ˜ νƒ€μž…μ„ μ •μ˜ν•˜λŠ” 것이닀.

λ„λ©”μΈμ˜ κΈ°λ³Έ 생성법은 μ•„λž˜μ™€ κ°™λ‹€.

CREATE DOMAIN 도메인λͺ… AS κΈ°λ°˜νƒ€μž… ...;

ν…Œμ΄λΈ” μ»¬λŸΌμ„ μ •μ˜ν• λ•Œμ²˜λŸΌ DEFAULT, NOT NULL, CHECK 등을 쀄쀄이 이어뢙일 수 μžˆλ‹€.

λ‚œ 이걸 μ΄μš©ν•΄μ„œ UTC값을 μ •μˆ˜μ˜ ν˜•νƒœλ‘œ μ €μž₯ν•˜λŠ” 도메인 νƒ€μž…μ„ μ •μ˜ν–ˆλ‹€.
NULL이 μ•„λ‹ˆκ³ , ν˜„μž¬ μ‹œκ°„κ°’μ„ UTC μ •μˆ˜λ‘œ κΈ°λ³Έμ €μž₯ν•˜λ©°, 0 이상이도둝 ν–ˆλ‹€.

그럼 κ·Έλƒ₯ ν…Œμ΄λΈ” 컬럼 νƒ€μž… λŒ€μ‹  μ €κ±Έ 넣어쀄 수 μžˆλ‹€.

νƒ€μž…μ΄ UTC_TYPE으둜 ν‘œμ‹œλ˜κΈ΄ ν•˜λŠ”λ°, μ‹€μ œλ‘œλŠ” κ·Έλƒ₯ INT8 νƒ€μž…μ΄λΌκ³  ν•  수 μžˆκ² λ‹€.

μ•„μ˜ˆ κ³ μœ ν•œ νƒ€μž…μ„ μƒμ„±ν•˜λŠ” CREATE TYPEκ³Ό λ‹€λ₯΄κ²Œ DOMAIN은 κ³ μœ ν•œ νƒ€μž…μ€ μ•„λ‹ˆκ³ , κ·Έλƒ₯ 문법적 편의일 뿐이기 λ•Œλ¬Έμ΄λ‹€.
μ‚¬μš©λ²•μ— 별달리 νŠΉμ΄ν•œ 점은 μ—†λ‹€.



μ°Έμ‘°
https://runebook.dev/ko/docs/postgresql/sql-createdomain