[Database] PostgreSQL 타입 정리

2023. 11. 19. 14:45·SW개발/Database

PostgreSQL에서 자주 사용되는 타입들을 정리합니다. 자세한 내용은 아래의 Document를 참고하시면 됩니다.

 

https://www.postgresql.org/docs/current/datatype.html

 

Chapter 8. Data Types

Chapter 8. Data Types Table of Contents 8.1. Numeric Types 8.1.1. Integer Types 8.1.2. Arbitrary Precision Numbers 8.1.3. Floating-Point Types 8.1.4. Serial …

www.postgresql.org

 

Numeric Types

  • smallint, 작은 범위의 정수
  • integer, 일반 범위의 정수
  • bigint, 큰 범위의 정수
  • decimal, 유저가 정의한 정확도
  • numeric, PostgreSQL에서는 decimal과 완전 동일함
    • (표준 SQL이 decimal, numeric 두 타입을 모두 가지고 있어서 이를 지원함)
  • serial, auto increment 되는 정수
  • bigserial, auto increment 되는 큰 범위의 정수

Monetary Types

  • money, 통화 amount

Character Types

  • varchar, 가변 길이 with limit
  • char, 고정 길이, 남은 자리는 공백으로 채움 (paddinig)
  • text, 길이에 상관없이 문자열 저장, limit 없는 varchar

Date/TIme Types

  • timestamp, without timezone, 시간대 정보 반영 X
  • timestampz, with timezone, 시간대 정보 반영 O
  • date, 날짜 정보만 표시
  • time, without timezone 시간 정보만 표시, 시간대 정보 반영 X
  • time, with timezone 시간 정보만 표시, 시간대 정보 반영 O
  • interval

Boolean Type

  • boolean, true or false 상태 값 저장

Enumerated Types

열거형(Enum)은 정적이고, 순서가 지정된 값 집합을 구성하는 데이터 유형 (eg. 요일)

  • Ordering, 값의 순서는 Enum 타입이 생성될 때 나열된 순서, 표준 연산자 지원 O
  • Type Safely, 허락되지 않은 열거형은 에러를 뱉는다. Invalid input
  • case sensitive, happy != HAPPY

Geometric Types

Geometric data type은 2차원 공간 객체

  • point
  • box
  • path
  • polygon
  • circle

Text Search Types

전문 검색(full text search)를 위한 두 종류의 데이터 타입

  • tsvector
  • tsquery

UUID Type

uuid를 저장하기 위한 타입

  • 출력은 항상 표준 출력임, a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11
  • 입력은 표준, {}, 대문자 등 모두 허용가능

XML Type

XML 데이터를 저장하기 위한 타입

JSON Types

JSON 데이터를 저장하기 위한 타입. text 타입으로 저장할 수도 있지만 JSON 규칙에 유효한지 강제화 하는 이점이 있음

  • json, 들어온 값을 그대로 저장함, 인덱싱이 불가함.
  • jsonb, 들어온 값을 그대로 저장하지 않고, 문자열 사이의 공백을 제거함, key 순서도 보장하지 않음, 인덱싱이 가능함.

Arrays

column을 가변길이의 다차원 배열로 정의할 수 있다. 빌트인, 사용자 지정, enum 등의 타입이 가능함

 

728x90

'SW개발 > Database' 카테고리의 다른 글

[MySQL]트랜잭션의 격리 수준 파헤치기 2 (feat. 영속성 컨텍스트의 함정)  (4) 2025.08.05
[MySQL]트랜잭션의 격리 수준 파헤치기 1  (4) 2025.07.24
'SW개발/Database' 카테고리의 다른 글
  • [MySQL]트랜잭션의 격리 수준 파헤치기 2 (feat. 영속성 컨텍스트의 함정)
  • [MySQL]트랜잭션의 격리 수준 파헤치기 1
Leffe_pt
Leffe_pt
개발자로서 성장하면서 배워온 지식과 경험을 공유하는 공간입니다.
  • Leffe_pt
    Leffe's tistory
    Leffe_pt
  • 전체
    오늘
    어제
    • 분류 전체보기 (309)
      • SW개발 (305)
        • 코딩테스트 (172)
        • 개발이야기 (23)
        • IT 용어 (17)
        • Python (22)
        • Django (46)
        • Flask (2)
        • Database (3)
        • SQLAlchemy (0)
        • Javascript (5)
        • Linux, Unix (3)
        • JAVA (2)
        • Spring (10)
      • 회고 (4)
      • 사진 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    배달비 공유
    음식
    배공파용
    라이프 스타일
    오픈소스
    트리 #AVL #알고리즘 #자료구조
    배달
    g
    플레이스토어
    어플리케이션
    Contributor
    컨트리뷰터
    django
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Leffe_pt
[Database] PostgreSQL 타입 정리
상단으로

티스토리툴바