PostgreSQL 사용자 정의 타입 생성 : ENUM

Pepzera·2026년 1월 13일

SQL

목록 보기
5/12

customer 테이블의 성별 컬럼

SELECT first_name, last_name, sex
FROM customer;

성별 컬럼의 타입은 CHAR(1)로 여러 다양한 문자들이 들어갈 수 있습니다.

'A', 'j', '2', '%'

그러므로 성별 데이터에 의미있는 'M''F'만 들어가게끔 사용자 정의 타입을 만들어야합니다.


ENUM을 이용해 사용자 정의 타입 생성

CREATE TYPE sex_type AS ENUM ('M', 'F');

이제 sex_type 컬럼에는 M과 F만 들어갈 수 있습니다.

기존 성별 컬럼 타입 변경

ALTER TABLE customer
ALTER COLUMN sex TYPE sex_type
USING sex::sex_type;


이제 INSERT를 통해 다른 값('D')을 집어넣어보면,

INSERT INTO customer(first_name, last_name, email, company, street, 
					city, state, zip, phone, birth_date, 
					sex, date_entered)
VALUES ('Max', 'Ver', 'Maxver@bp.com', 'BP',
		'347 Cedar St', 'Lawrenceville', 'GA', '30044',
		'348-848-8291', '1938-09-11', 'D', current_timestamp);

이런 오류가 뜹니다.

0개의 댓글