[PostgreSQL] μ΄κ±°ν
PostgreSQLμμλ μ΄κ±°ν νμ
μ λν κΈ°λ₯μ μ 곡νλ€.
λ€λ₯Έ μΈμ΄λ€μ μ΄κ±°μ λ§μ°¬κ°μ§λ‘, 미리 μ§μ λ κ°λ§μ λ°μ μ μλλ‘ μ μ½μ΄ κ±Έλ¦° νμ
μ λ§λ λ€.
μμ±μ λ€μκ³Ό κ°μ΄ ν μ μλ€.
CREATE TYPE νμ
λͺ
AS ENUM(μ΄κ±° κ°λ€...);
λλ λ΄κ° μνλ νΉμ μκΉλ§μ λ£μ μ μλ μμ νμ
μ μ μνλ€.
λ΄κ° λ£μ μ΄κ±° μμ±μ μ μ΄μ μΈ μ μ, λΆνμ, κ²μ μμ΄λ€.

μ΄κ±° κ° λͺ©λ‘μλ κ°μ νμ μ κ°λ§μ λ£μ μ μλ€.

μ΄κ±°λ₯Ό μ μ μνλ€λ©΄, λ€μκ³Ό κ°μ΄ κ·Έλ₯ νμ
μΌλ‘ μ¬μ©ν μ μλ€.
μμμ ν¬ν¨νλ κ°λ¨ν ν
μ€νΈμ© ν
μ΄λΈμ μ μνλ€.

κ° μ ν
μ΄κ±°λ₯Ό μ¬μ©νλ μ΄μ λ, ν΄λΉ νμ
μ΄ νΉμ ν κ°λ§μ κ°μ§ μ μλ€λ κ°λ ₯ν 보μ₯μ κ°μ§κΈ° λλ¬Έμ΄λ€.
κ·Έλμ μ΄κ±°μ μ μν μμ±μ μΌλ§λ μ§ λ£μ μ μμ§λ§

μ μνμ§ μμ μμ±μ λ€μ΄κ° μ μλ€.

νμ κ³ μ μ±
μ΄κ±°λ λ€λ₯Έ νμ
μ ν΅ν΄ μ μλμ§λ§, κ·Έ μ체λ‘λ νλμ κ³ μ ν νμ
μ΄λ€.
κ·Έλμ λ¬Έμμ΄λ‘ μ΄κ±°λ₯Ό ꡬμ±νλ€ νλλΌλ, 그건 μ΄κ±°νμ
μ΄μ§, λ¬Έμμ΄μ΄ μλλ€.
κ·Έλμ λ€μκ³Ό κ°μ 쿼리λ₯Ό νμ
μ€λ₯λ₯Ό λ°μμν¨λ€.

λ΄λΆ νμ μ κ°μ κΊΌλ΄μ μ ν¨νκ² μ²λ¦¬νκ³ μΆλ€λ©΄ λͺ μμ μΊμ€ν μ μ¬μ©νλ©΄ λλ€.

μ°Έμ‘°
https://www.postgresql.org/docs/9.2/sql-createtype.html
https://www.postgresql.org/docs/9.5/xtypes.html
https://bloodguy.tistory.com/entry/PostgreSQL-enum-type