Data Type
Boolean
Character: char, varchar, text
Numeric
Temporal: date, time, timestamp, interval
UUID
Array
JSON
hstore
Special Types: network address, geometric data
Boolean
true, false, null
1, yes, y, t, true 는 true 값으로 변환된다.
0, 아니요, 거짓, f 값은 거짓으로 변환된다.
위와 같이 들어간 데이터에 대해서 select 하면, true, false, null 로 변환되어 표시
Character
세가지 문자 데이터 유형 제공을 제공한다.
char(n)
공백이 추가된 고정 길이 문자
열의 길이보다 짧은 문자열을 삽입하면 공백을 채움
varchar(n)
가변 길이 문자열
최대 n개의 문자를 저장
저장된 문자열이 열의 길이보다 짧은 경우, 공백을 채우지 않음
text
가변 길이 문자열
이론적으로 길이 제한 없는 문자열
Numeric
두 가지 유형의 숫자를 제공한다.
integers
floating-point numbers
Integers
세 가지 종류의 정수가 있다.
Smallint: -32,768 ~ 32,767 범위의 2바이트 부호 있는 정수
Int: -2,147,483,648 ~ 2,147,483,647 범위의 4바이트 정수
Serial: 자동 값 생성. MySQL의 AUTO_INCREMENT
Floating-point number
부동 소수점 숫자에는 세 가지 주요 유형이 있다.
float(n)
최대 8바이트인 부동 소수점 숫자
n의 값에 따라 저장되는 숫자의 정밀도가 달라질 수 있음
read or float8
4바이트 부동소수점 수
저장할 수 있는 소수점 이하의 자릿수가 상대적으로 적음
numeric or numeric(p,s)
가변 길이의 고정 소수점 숫자를 저장
p는 전체 자리 수(정수부 + 소수부 포함한 총 자리수), s는 소수점 이하 자리수
매우 높은 정밀도가 필요한 경우에 사용됨
numeric(10, 2)는 총 10자리 숫자 중 소수점 이하 2자리를 나타내며, 12345678.90과 같은 숫자 저장
Temporal(시간)
5가지의 주요 시간 데이터 유형이 있다.
DATE
날짜만 저장, 생일, 특정 이벤트 날짜
YYYY-MM-DD
TIME
시간 값만 저장, 하루 중 특정 시간, 운영 시간
HH:MI:SS
TIMESTAMP
날짜와 시간 값 모두 저장
YYYY-MM-DD HH:MI:SS
TIMESTAMPTZ
시간대가 있는 타임스탬프의 약자
YYYY-MM-DD HH:MI:SS±TZ
INTERVAL
기간 저장
1 year 2 months, 3 days 04:05:06
Array
문자열 배열, 정수 배열 등을 배열에 저장할 수 있다.
요일 또는 월을 저장하는 등 일부 상황에서 유용하게 사용 가능
JSON Type
두 가지 JSON 데이터 유형을 제공
구조가 유동적인 데이터 저장하는 경우
응용 프로그램 설정이나 환경변수를 저장하는 경우(구조 간단, 자주 변경되지 않음)
API 요청 및 응답 데이터
로그 및 이벤트 데이터
JSONB 데이터 유형은 다양한 속성을 인덱싱하고 검색하는데 유용 예를 들어, JSONB 데이터 유형을 사용하여 사용자 프로필 데이터를 저장하면, 각 속성을 인덱싱하여 효율적으로 검색할 수 있음
JSON
처리할 때마다 리파싱이 필요한 일반 JSON데이터를 저장
JSONB
처리 속도는 빠르지만, 삽입 속도는 느린 바이너리 형식의 JSON데이터 저장
JSONB는 인덱싱을 지원하므로 이점이 있을 수 있다.
Special data Type
기하학 및 네크워크와 관련된 특수 데이터 유형
box: a rectangular box
line: a set of points
point: a geometric pair of numbers
lseg: a line segment
polygon: a closed geometric
inet: an IP4 address
macaddr: a MAC address
Last updated