본문 바로가기
Linux

[Postgresql] 데이터 타입

by 도경다경 2022. 9. 20.
반응형

PostgreSQL 데이터 타입

분류종류내용

숫자 smallint 작은 범위의 정수, 2 bytes(-32768 ~ +32767)
  integer 정수에 대한 일반적인 선택, 4 bytes(-2147483648 ~ +2147483647)
  bigint 큰 범위의 정수, 8 bytes(-9223372036854775808 ~ 9223372036854775807)
  decimal 사용자 지정 정밀도, variable, 정확(제한 없음)
  numeric 사용자 지정 정밀도, variable, 정확(제한 없음)
  real 가변 정밀도, 부정확, 4 bytes(6자리 소수점 정밀도)
  double precision 가변 정밀도, 부정확, 8 bytes(15자리 소수점 정밀도)
  serial 자동 증가 정수, 4 bytes(1 ~ 2147483647)
  bigserial 큰 자동 증가 정수, 8 bytes(1 ~ 9223372036854775807
화폐 money 통화 금액, 8 bytes(-92233720368547758.08 ~ +92233720368547758.07)
문자 character varying(n), varchar(n) 제한이있는 가변 길이
  character(n), char(n) 고정 길이, 공백 채우기
  text 가변 길이 무제한
  "char" 1byte 내부 유형, 1 byte
  name 개체 이름의 내부 유형, 64 bytes
이진 데이터 bytea 가변 길이 이진 문자열, 1 또는 4 byte와 실제 2진 문자열
날짜/시간 timestamp [(p)][without time zone] 날짜와 시간 모두(시간대 없음), 8 bytes
  timestamp [(p)] with time zone 시간대가 있는 날짜와 시간 모두, 8 bytes
  date 날짜(시간 없음), 4 bytes
  time [(p)][without time zone] 시간(날짜 없음), 8 bytes
  time [(p)] with time zone 시간대만 포함, 12 bytes
  interval [fields][(p)] 시간 간격, 16 bytes
부울 boolean 참 또는 거짓 상태, 1 byte
기하학 point 비행기 위의 포인트, 16 bytes, (x,y)
  line 무한 라인(완전히 구현되지 않음), 32 bytes, ((x1,y1),(x2,y2))
  lseg 유한 선분, 32 bytes, ((x1,y1),(x2,y2))
  box 직사각형 상자, 32 bytes, ((x1,y1),(x2,y2))
  path 닫힌 경로(폴리곤과 유사), 16+16n bytes, ((x1,y1),...)
  path 열린 경로, 16+16n bytes, [(x1,y1),...]
  polygon 다각형(닫힌 경로와 유사), 40+16n bytes, ((x1,y1),...)
  circle 원, 24 bytes, <(x,y),r> (중심점 및 반경)
네트워크 주소 cidr IPv4 및 IPv6 네트워크, 7 또는 19 bytes
  inet IPv4 및 IPv6 호스트 및 네트워크, 7 또는 19 bytes
  macaddr MAC 주소, 6 bytes
비트 문자열 bit(n) 길이 n과 정확히 일치
  bit varying(n) 최대 길이 n까지 가변 길이
텍스트 검색 tsvector 텍스트 검색에 최적화된 형식의 문서
  tsquery 유사한 텍스트 쿼리
개체 식별자 oid 숫자 객체 식별자 (예: 564182)
  regproc 함수 명 (예: sum)
  regprocedure 인수 유형이 있는 함수 (예: sum(int4))
  regoper 연산자 이름 (예: +)
  regoperator 인수 유형이 있는 연산자 (예: *(integer,integer) 또는 -(NONE,integer))
  regclass 관계 이름 (예: pg_type)
  regtype 데이터 유형 이름 (예: integer)
  regconfig 텍스트 검색 구성 (예: english)
  regdictionary 텍스트 검색 사전 (예: simple)
Pseudo any 함수가 모든 입력 데이터 유형을 허용
  anyarray 함수가 모든 배열 데이터 유형을 허용
  anyelement 함수가 모든 데이터 유형을 허용
  anyenum 함수가 모든 열거형 데이터 유형을 허용
  anynonarray 함수가 배열이 아닌 데이터 유형을 허용
  cstring 함수가 null로 끝나는 C 문자열을 받거나 반환
  internal 함수가 서버 내부 데이터 유형을 수락하거나 반환
  language_handler 절차 언어 호출 핸들러가 language_handler를 반환하도록 선언
  record 지정되지 않은 행 유형을 반환하는 함수를 식별
  trigger 트리거를 반환하기 위해 트리거 함수가 선언
  void 함수가 값을 반환하지 않음
  opaque 이전에 위의 모든 목적을 수행했던 오래된 유형 이름
열거   열거형 값은 디스크에서 4 bytes를 차지
    열거형 값의 텍스트 레이블 길이는 최대 63 bytes
    열거형 레이블은 대소문자를 구분
    레이블의 공백도 중요
UUID   하이픈으로 구분, 8자리 그룹, 4자리 그룹 3개, 12자리 그룹 순으로 소문자 16진수 시퀀스(총 32자리)
    128 bits
XML   xml 데이터 유형을 사용하여 XML 데이터를 저장
배열   테이블의 열을 가변 길이 다차원 배열로 정의
    내장 또는 사용자 정의 기본 유형, 열거 유형 또는 복합 유형의 배열을 작성
    특정 배열 요소를 검색하는 것은 데이터베이스 설계 오류의 징후일 가능성 (배열 요소가 될 각 항목에 대해 행이 있는 별도의 테이블을 사용하는 것 권장)
복합   행 또는 레코드의 구조(필드 이름과 데이터 유형의 목록)
  • n은 양의 정수
  • p는 초 필드에 보유되는 소수 자릿수를 지정하는 정밀도 값, 범위는 0에서 6까지
  • 비트 문자열: 1과 0의 문자열
  • Pseudo: 함수의 동작이 단순히 특정 SQL 데이터 유형의 값을 가져오거나 반환하는 것과 일치하지 않는 상황에서 유용
반응형

댓글