반응형
PostgreSQL은 다양한 데이터 타입을 지원하여 유연하고 강력한 데이터베이스 관리를 가능하게 합니다. 주요 데이터 타입은 다음과 같습니다.
1. 숫자 데이터 타입
- 정수형(Integer Types)
smallint
: 2바이트의 정수 (-32,768 ~ 32,767)integer
또는int
: 4바이트의 정수 (-2,147,483,648 ~ 2,147,483,647)bigint
: 8바이트의 정수 (-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807)
- 실수형(Floating Point Types)
real
: 4바이트의 실수 (단정밀도)double precision
: 8바이트의 실수 (배정밀도)numeric
또는decimal
: 고정 소수점 숫자, 정밀도와 소수 자릿수를 지정할 수 있어 정밀한 계산에 적합
2. 통화 데이터 타입
- 'money': 소수점 이하 두자리까지 정확하게 금액을 저장하고 금융 데이터를 저장한다. (예 799.99)
3. 문자 데이터 타입
- 문자형(Character Types)
char(n)
: 고정 길이 문자형varchar(n)
: 가변 길이 문자형 (최대 n 문자)text
: 가변 길이의 문자열, 길이 제한이 없음
4. 바이너리 데이터 타입
- 'bytea': 바이너리 string을 저장함 (예: '\000')
5. 날짜 및 시간 데이터 타입
date
: 날짜만 저장 (예: 2024-10-25)time [without time zone]
: 시간만 저장 (예: 13:45:30)timestamp [without time zone]
: 날짜와 시간을 함께 저장 (예: 2024-10-25 13:45:30)timestamptz
또는timestamp with time zone
: 타임존 정보를 포함한 날짜와 시간interval
: 두 날짜 또는 시간 사이의 기간을 나타냄 (예:1 year 2 months
)
6. Boolean 타입
boolean
:TRUE
,FALSE
,NULL
값을 가질 수 있음.
7. 배열 타입 (Array Types)
- PostgreSQL은 모든 기본 데이터 타입에 대해 배열을 지원합니다. 예를 들어,
integer[]
는 정수 배열,text[]
는 문자열 배열을 나타냅니다.
8. JSON과 JSONB 타입
json
: JSON 데이터 형태로 저장하지만, 검색 시 성능이 떨어질 수 있음.jsonb
: 이진 형태의 JSON으로, 더 효율적인 검색과 인덱싱이 가능.
9. 기타 데이터 타입
- Enumerated: 다른 언어에서 사용되는 enum type과 같은 데이터를 저장한다.
- Geometric: 2차원 공간 정보를 저장한다.
- Text Search: 전체 문자 검색을 지원한다.
- XML: XML 데이터를 저장함.
- Range: 범위 정보를 저장함 (예: 10 - 20, 2010-01-01 14:30, 2010-01-01 15:30)
- Domain: 다른 데이터 타입에 근거한 사용자 정의 데이터 타입
- pg_lsn: LSN (Log Sequence Number) 데이터를 저장함.
- Pseudo: 함수의 매개변수와 리턴 값으로 사용됨.
- Object Identifier: primary keys로 사용됨
- UUID:
uuid
는 고유 식별자를 저장하는데 사용됨. - CIDR 및 INET: 네트워크 주소를 저장 (
cidr
은 네트워크,inet
은 호스트 또는 네트워크) - MACADDR: MAC 주소를 저장
- BIT 및 BIT VARYING: 비트 문자열을 저장
10. 사용자 정의 타입
- Composite Types
- PostgreSQL은
CREATE TYPE
명령을 통해 사용자 정의 타입을 만들 수 있어, 응용 프로그램에 특화된 데이터 구조를 저장하는 데 유용합니다.
PostgreSQL은 위와 같이 다양한 데이터 타입을 제공하여, 데이터베이스 설계와 관리에 있어 매우 유연하게 사용할 수 있습니다.
반응형
'DB > PostgreSQL' 카테고리의 다른 글
[ PostgreSQL ] NOT NULL - 빈값을 허용하지 않는 column 만들기 (0) | 2024.11.13 |
---|---|
[ PostgreSQL ] CAST - query시 형변환 하기 (0) | 2024.11.12 |
[ PostgreSQL ] gp_dump - 백업 받기 (0) | 2024.10.18 |
[ PostgreSQL ] ALTER USER - 사용자 비밀번호 변경하기 (0) | 2024.10.17 |
[ PostgreSQL ] DELETE - 데이터 삭제하기 (0) | 2024.10.07 |