Code Metaphor

Programming, Writing, Reading, Thoughts…

PostgreSQL 8.3의 내장 자료형들

psql에서 \dT+라고 치면 아래 표가 나온다.

Schema Name Internal name Size Description
pg_catalog "any" any 4
pg_catalog "char" char 1 single character
pg_catalog abstime abstime 4 absolute, limited-range date and time (Unix system time)
pg_catalog aclitem aclitem 12 access control list
pg_catalog anyarray anyarray var
pg_catalog anyelement anyelement 4
pg_catalog anyenum anyenum 4
pg_catalog anynonarray anynonarray 4
pg_catalog bigint int8 8 ~18 digit integer, 8-byte storage
pg_catalog bit bit var fixed-length bit string
pg_catalog bit varying varbit var variable-length bit string
pg_catalog boolean bool 1 boolean, true/false
pg_catalog box box 32 geometric box (lower left,upper right)
pg_catalog bytea bytea var variable-length string, binary values escaped
pg_catalog character bpchar var char(length), blank-padded string, fixed storage length
pg_catalog character varying varchar var varchar(length), non-blank-padded string, variable storage length
pg_catalog cid cid 4 command identifier type, sequence in transaction id
pg_catalog cidr cidr var network IP address/netmask, network address
pg_catalog circle circle 24 geometric circle (center,radius)
pg_catalog cstring cstring var
pg_catalog date date 4 ANSI SQL date
pg_catalog double precision float8 8 double-precision floating point number, 8-byte storage
pg_catalog gtsvector gtsvector var GiST index internal text representation for text search
pg_catalog inet inet var IP address/netmask, host address, netmask optional
pg_catalog int2vector int2vector var array of int2, used in system tables
pg_catalog integer int4 4 -2 billion to 2 billion integer, 4-byte storage
pg_catalog internal internal 4
pg_catalog interval interval 16 @ <number> <units>, time interval
pg_catalog language_handler language_handler 4
pg_catalog line line 32 geometric line (not implemented)
pg_catalog lseg lseg 32 geometric line segment (pt1,pt2)
pg_catalog macaddr macaddr 6 XX:XX:XX:XX:XX:XX, MAC address
pg_catalog money money 8 monetary amounts, $d,ddd.cc
pg_catalog name name 64 63-character type for storing system identifiers
pg_catalog numeric numeric var numeric(precision, decimal), arbitrary precision number
pg_catalog oid oid 4 object identifier(oid), maximum 4 billion
pg_catalog oidvector oidvector var array of oids, used in system tables
pg_catalog opaque opaque 4
pg_catalog path path var geometric path (pt1,...)
pg_catalog point point 16 geometric point (x, y)
pg_catalog polygon polygon var geometric polygon (pt1,...)
pg_catalog real float4 4 single-precision floating point number, 4-byte storage
pg_catalog record record var
pg_catalog refcursor refcursor var reference cursor (portal name)
pg_catalog regclass regclass 4 registered class
pg_catalog regconfig regconfig 4 registered text search configuration
pg_catalog regdictionary regdictionary 4 registered text search dictionary
pg_catalog regoper regoper 4 registered operator
pg_catalog regoperator regoperator 4 registered operator (with args)
pg_catalog regproc regproc 4 registered procedure
pg_catalog regprocedure regprocedure 4 registered procedure (with args)
pg_catalog regtype regtype 4 registered type
pg_catalog reltime reltime 4 relative, limited-range time interval (Unix delta time)
pg_catalog smallint int2 2 -32 thousand to 32 thousand, 2-byte storage
pg_catalog smgr smgr 2 storage manager
pg_catalog text text var variable-length string, no limit specified
pg_catalog tid tid 6 (block, offset), physical location of tuple
pg_catalog time with time zone timetz 12 hh:mm:ss, ANSI SQL time
pg_catalog time without time zone time 8 hh:mm:ss, ANSI SQL time
pg_catalog timestamp with time zone timestamptz 8 date and time with time zone
pg_catalog timestamp without time zone timestamp 8 date and time
pg_catalog tinterval tinterval 12 (abstime,abstime), time interval
pg_catalog trigger trigger 4
pg_catalog tsquery tsquery var query representation for text search
pg_catalog tsvector tsvector var text representation for text search
pg_catalog txid_snapshot txid_snapshot var txid snapshot
pg_catalog unknown unknown var
pg_catalog uuid uuid 16 UUID datatype
pg_catalog void void 4
pg_catalog xid xid 4 transaction id
pg_catalog xml xml var XML content

네트워크 주소를 저장하는 용도인 cidr, inet, macaddr 같은 것도 있고, box, circle, line, path, point, polygon 같은 기하학적 값들을 위한 자료형도 존재한다.

눈여겨 볼 것은, regclassregtype 같은 고차 자료형(higher-order types)—자료형을 담는 자료형, Ruby의 Class 객체나 Python의 type 객체 같은 것들—도 존재한다는 사실. regoper, regproc 같은 자료형을 보면 알 수 있겠지만, 연산자나 프로시져를 값으로 사용할 수 있기도 하다. regoperator, regprocedure 자료형은 부분 적용(partial application)된 연산자, 프로시져를 담는다.

이 얼마나 강력하고 유연한 ORDBMS인가.

This entry was posted on August 29, 2008 at 11:06 AM. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

Comments are closed.

Powered by WordPress. Styled by Hong, MinHee. XML Feed, Comments XML Feed.