sungyup's.

PostgreSQL / PostgreSQL / 3.1 Complex Datatypes

3.1Complex Datatypes

PGAdmin

  • Tools to manage and inspect a Postgres DB
  • Can conncect to local or remote databases
  • Can view/change just about anything in PG

Postgres Server : can contain multiple databases

  • All data for a single app lives in a single DB

Data Types

  • Numbers
    • 숫자 타입을 붙이는 데는 간단한 관습이 있음
      • id : serial로
      • 소수점 없음 : integer로
      • 소수점 있는데 정말 정확해야함 : numeric
        • 예를 들면 은행 계좌 잔액, gold gram, scientific calculation
      • 소수점 있는데 그 정도는 아님 : double precision
        • 예를 들면 호수의 물 liter 같은
    • 소수점 없는 numeric types
      • smallint : -32768 ~ + 32767
      • integer : -2147583648 ~ +2147583647
      • bigint : 더 큰 수
    • 소수점 없지만 auto increment
      • smallserial : 1 ~ 32767
      • serial : 1 ~ 2147483647
      • bigserial : 1 ~
    • 소수점 있음
      • decimal : 소수점 전까지 131072 자리수, 이후엔 16383 (아주 정확)
      • numeric : 소수점 전까지 131072, 이후엔 16383 (아주 정확)
      • real : 1E-37 ~ 1E37 (부동 소수점)
      • double precision : 1E-307 ~ 1E308, 최소 15자리수 정확도 (부동 소수점)
      • float : real / double precision과 동일 (부동 소수점)
  • Currency
  • Binary
  • Date/Time
    • 유연한 Date : PostgreSQL은 다양한 형식의 DATE들 전부 인식
    • 예를 들면, 아래는 전부 1980-11-20으로 인식
      • 1980-11-20
      • Nov-20-1980
      • 20-Nov-1980
      • 1980-November-20
      • November 20, 1980
    • TIME, TIME WITHOUT TIME ZONE(두 타입은 같음. TIME이 후자의 alias)
    • TIME WITH TIME ZONE
      • 01:23 AM EST ⇒ 01:23-05:00
      • 05:23PM PST ⇒ 17:23-08:00
      • 05:23PM UST ⇒ 18:23-00:00
    • TIMESTAMP WITH TIME ZONE(timestamptz)
    • INTERVAL : 시간 경과(duration)
      • 연산이 가능하므로 DATE와 TIME과 함께 자주 사용
  • Character
    • CHAR(5) : 문자열 저장. (5)와 같이 저장하면 5자리 문자열로, 빈칸을 채워넣거나 자름
    • VARCHAR : 문자열(길이 제한 없음)
    • VARCHAR(40) : 40자리까지 지원하는 문자열로, 추가적으로 들어간 문자는 자동으로 자름
    • TEXT : 문자열(길이 제한 없음)
  • JSON
  • Geometric
  • Range
  • Arrays
  • Boolean
    • TRUE 값 : true, ‘yes’, on, 1, t, y는 PostgreSQL에서 BOOLEAN으로 타입 지정시 TRUE로 받음
    • FALSE 값 : 반대로, false, ‘no’, off, 0, f, n은 FALSE로
    • NULL
  • XML
  • UUID