PostgreSQL 데이터 타입

Kwon, Hyojin·2021년 2월 20일
2

Database

목록 보기
1/3
post-thumbnail

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> (중심점 및 반경)
네트워크 주소cidrIPv4 및 IPv6 네트워크, 7 또는 19 bytes
inetIPv4 및 IPv6 호스트 및 네트워크, 7 또는 19 bytes
macaddrMAC 주소, 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)
Pseudoany함수가 모든 입력 데이터 유형을 허용
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
XMLxml 데이터 유형을 사용하여 XML 데이터를 저장
배열테이블의 열을 가변 길이 다차원 배열로 정의
내장 또는 사용자 정의 기본 유형, 열거 유형 또는 복합 유형의 배열을 작성
특정 배열 요소를 검색하는 것은 데이터베이스 설계 오류의 징후일 가능성 (배열 요소가 될 각 항목에 대해 행이 있는 별도의 테이블을 사용하는 것 권장)
복합행 또는 레코드의 구조(필드 이름과 데이터 유형의 목록)
  • n은 양의 정수
  • p는 초 필드에 보유되는 소수 자릿수를 지정하는 정밀도 값, 범위는 0에서 6까지
  • 비트 문자열: 1과 0의 문자열
  • Pseudo: 함수의 동작이 단순히 특정 SQL 데이터 유형의 값을 가져오거나 반환하는 것과 일치하지 않는 상황에서 유용
profile
파이썬 웹 백엔드 개발자

1개의 댓글

comment-user-thumbnail
2022년 1월 26일

느헤미야가 떡하니 펴져있는게 인상적이네요. ;)

답글 달기