<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Data Types</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REV="MADE" HREF="mailto:pgsql-docs@postgresql.org"><LINK REL="HOME" TITLE="PostgreSQL 8.2.14 Documentation" HREF="index.html"><LINK REL="UP" TITLE="The SQL Language" HREF="sql.html"><LINK REL="PREVIOUS" TITLE="VALUES Lists" HREF="queries-values.html"><LINK REL="NEXT" TITLE="Numeric Types" HREF="datatype-numeric.html"><LINK REL="STYLESHEET" TYPE="text/css" HREF="stylesheet.css"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"><META NAME="creation" CONTENT="2009-09-04T05:25:47"></HEAD ><BODY CLASS="CHAPTER" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="5" ALIGN="center" VALIGN="bottom" >PostgreSQL 8.2.14 Documentation</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A HREF="queries-values.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A HREF="queries.html" >Fast Backward</A ></TD ><TD WIDTH="60%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="top" ><A HREF="functions.html" >Fast Forward</A ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="top" ><A HREF="datatype-numeric.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="CHAPTER" ><H1 ><A NAME="DATATYPE" ></A >Chapter 8. Data Types</H1 ><DIV CLASS="TOC" ><DL ><DT ><B >Table of Contents</B ></DT ><DT >8.1. <A HREF="datatype-numeric.html" >Numeric Types</A ></DT ><DD ><DL ><DT >8.1.1. <A HREF="datatype-numeric.html#DATATYPE-INT" >Integer Types</A ></DT ><DT >8.1.2. <A HREF="datatype-numeric.html#DATATYPE-NUMERIC-DECIMAL" >Arbitrary Precision Numbers</A ></DT ><DT >8.1.3. <A HREF="datatype-numeric.html#DATATYPE-FLOAT" >Floating-Point Types</A ></DT ><DT >8.1.4. <A HREF="datatype-numeric.html#DATATYPE-SERIAL" >Serial Types</A ></DT ></DL ></DD ><DT >8.2. <A HREF="datatype-money.html" >Monetary Types</A ></DT ><DT >8.3. <A HREF="datatype-character.html" >Character Types</A ></DT ><DT >8.4. <A HREF="datatype-binary.html" >Binary Data Types</A ></DT ><DT >8.5. <A HREF="datatype-datetime.html" >Date/Time Types</A ></DT ><DD ><DL ><DT >8.5.1. <A HREF="datatype-datetime.html#DATATYPE-DATETIME-INPUT" >Date/Time Input</A ></DT ><DT >8.5.2. <A HREF="datatype-datetime.html#DATATYPE-DATETIME-OUTPUT" >Date/Time Output</A ></DT ><DT >8.5.3. <A HREF="datatype-datetime.html#DATATYPE-TIMEZONES" >Time Zones</A ></DT ><DT >8.5.4. <A HREF="datatype-datetime.html#DATATYPE-DATETIME-INTERNALS" >Internals</A ></DT ></DL ></DD ><DT >8.6. <A HREF="datatype-boolean.html" >Boolean Type</A ></DT ><DT >8.7. <A HREF="datatype-geometric.html" >Geometric Types</A ></DT ><DD ><DL ><DT >8.7.1. <A HREF="datatype-geometric.html#AEN5363" >Points</A ></DT ><DT >8.7.2. <A HREF="datatype-geometric.html#AEN5376" >Line Segments</A ></DT ><DT >8.7.3. <A HREF="datatype-geometric.html#AEN5404" >Boxes</A ></DT ><DT >8.7.4. <A HREF="datatype-geometric.html#AEN5432" >Paths</A ></DT ><DT >8.7.5. <A HREF="datatype-geometric.html#AEN5465" >Polygons</A ></DT ><DT >8.7.6. <A HREF="datatype-geometric.html#AEN5490" >Circles</A ></DT ></DL ></DD ><DT >8.8. <A HREF="datatype-net-types.html" >Network Address Types</A ></DT ><DD ><DL ><DT >8.8.1. <A HREF="datatype-net-types.html#DATATYPE-INET" ><TT CLASS="TYPE" >inet</TT ></A ></DT ><DT >8.8.2. <A HREF="datatype-net-types.html#DATATYPE-CIDR" ><TT CLASS="TYPE" >cidr</TT ></A ></DT ><DT >8.8.3. <A HREF="datatype-net-types.html#DATATYPE-INET-VS-CIDR" ><TT CLASS="TYPE" >inet</TT > vs. <TT CLASS="TYPE" >cidr</TT ></A ></DT ><DT >8.8.4. <A HREF="datatype-net-types.html#DATATYPE-MACADDR" ><TT CLASS="TYPE" >macaddr</TT ></A ></DT ></DL ></DD ><DT >8.9. <A HREF="datatype-bit.html" >Bit String Types</A ></DT ><DT >8.10. <A HREF="arrays.html" >Arrays</A ></DT ><DD ><DL ><DT >8.10.1. <A HREF="arrays.html#AEN5738" >Declaration of Array Types</A ></DT ><DT >8.10.2. <A HREF="arrays.html#AEN5759" >Array Value Input</A ></DT ><DT >8.10.3. <A HREF="arrays.html#AEN5796" >Accessing Arrays</A ></DT ><DT >8.10.4. <A HREF="arrays.html#AEN5830" >Modifying Arrays</A ></DT ><DT >8.10.5. <A HREF="arrays.html#AEN5867" >Searching in Arrays</A ></DT ><DT >8.10.6. <A HREF="arrays.html#AEN5876" >Array Input and Output Syntax</A ></DT ></DL ></DD ><DT >8.11. <A HREF="rowtypes.html" >Composite Types</A ></DT ><DD ><DL ><DT >8.11.1. <A HREF="rowtypes.html#AEN5928" >Declaration of Composite Types</A ></DT ><DT >8.11.2. <A HREF="rowtypes.html#AEN5943" >Composite Value Input</A ></DT ><DT >8.11.3. <A HREF="rowtypes.html#AEN5964" >Accessing Composite Types</A ></DT ><DT >8.11.4. <A HREF="rowtypes.html#AEN5975" >Modifying Composite Types</A ></DT ><DT >8.11.5. <A HREF="rowtypes.html#AEN5986" >Composite Type Input and Output Syntax</A ></DT ></DL ></DD ><DT >8.12. <A HREF="datatype-oid.html" >Object Identifier Types</A ></DT ><DT >8.13. <A HREF="datatype-pseudo.html" >Pseudo-Types</A ></DT ><DT >8.14. <A HREF="datatype-xml.html" ><ACRONYM CLASS="ACRONYM" >XML</ACRONYM > Document Support</A ></DT ></DL ></DIV ><A NAME="AEN3671" ></A ><A NAME="AEN3673" ></A ><P > <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > has a rich set of native data types available to users. Users may add new types to <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > using the <A HREF="sql-createtype.html" ><I >CREATE TYPE</I ></A > command. </P ><P > <A HREF="datatype.html#DATATYPE-TABLE" >Table 8-1</A > shows all the built-in general-purpose data types. Most of the alternative names listed in the <SPAN CLASS="QUOTE" >"Aliases"</SPAN > column are the names used internally by <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > for historical reasons. In addition, some internally used or deprecated types are available, but they are not listed here. </P ><DIV CLASS="TABLE" ><A NAME="DATATYPE-TABLE" ></A ><P ><B >Table 8-1. Data Types</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><COL><THEAD ><TR ><TH >Name</TH ><TH >Aliases</TH ><TH >Description</TH ></TR ></THEAD ><TBODY ><TR ><TD ><TT CLASS="TYPE" >bigint</TT ></TD ><TD ><TT CLASS="TYPE" >int8</TT ></TD ><TD >signed eight-byte integer</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >bigserial</TT ></TD ><TD ><TT CLASS="TYPE" >serial8</TT ></TD ><TD >autoincrementing eight-byte integer</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >bit [ (<TT CLASS="REPLACEABLE" ><I >n</I ></TT >) ]</TT ></TD ><TD > </TD ><TD >fixed-length bit string</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >bit varying [ (<TT CLASS="REPLACEABLE" ><I >n</I ></TT >) ]</TT ></TD ><TD ><TT CLASS="TYPE" >varbit</TT ></TD ><TD >variable-length bit string</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >boolean</TT ></TD ><TD ><TT CLASS="TYPE" >bool</TT ></TD ><TD >logical Boolean (true/false)</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >box</TT ></TD ><TD > </TD ><TD >rectangular box in the plane</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >bytea</TT ></TD ><TD > </TD ><TD >binary data (<SPAN CLASS="QUOTE" >"byte array"</SPAN >)</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >character varying [ (<TT CLASS="REPLACEABLE" ><I >n</I ></TT >) ]</TT ></TD ><TD ><TT CLASS="TYPE" >varchar [ (<TT CLASS="REPLACEABLE" ><I >n</I ></TT >) ]</TT ></TD ><TD >variable-length character string</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >character [ (<TT CLASS="REPLACEABLE" ><I >n</I ></TT >) ]</TT ></TD ><TD ><TT CLASS="TYPE" >char [ (<TT CLASS="REPLACEABLE" ><I >n</I ></TT >) ]</TT ></TD ><TD >fixed-length character string</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >cidr</TT ></TD ><TD > </TD ><TD >IPv4 or IPv6 network address</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >circle</TT ></TD ><TD > </TD ><TD >circle in the plane</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >date</TT ></TD ><TD > </TD ><TD >calendar date (year, month, day)</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >double precision</TT ></TD ><TD ><TT CLASS="TYPE" >float8</TT ></TD ><TD >double precision floating-point number</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >inet</TT ></TD ><TD > </TD ><TD >IPv4 or IPv6 host address</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >integer</TT ></TD ><TD ><TT CLASS="TYPE" >int</TT >, <TT CLASS="TYPE" >int4</TT ></TD ><TD >signed four-byte integer</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >interval [ (<TT CLASS="REPLACEABLE" ><I >p</I ></TT >) ]</TT ></TD ><TD > </TD ><TD >time span</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >line</TT ></TD ><TD > </TD ><TD >infinite line in the plane</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >lseg</TT ></TD ><TD > </TD ><TD >line segment in the plane</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >macaddr</TT ></TD ><TD > </TD ><TD >MAC address</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >money</TT ></TD ><TD > </TD ><TD >currency amount</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >numeric [ (<TT CLASS="REPLACEABLE" ><I >p</I ></TT >, <TT CLASS="REPLACEABLE" ><I >s</I ></TT >) ]</TT ></TD ><TD ><TT CLASS="TYPE" >decimal [ (<TT CLASS="REPLACEABLE" ><I >p</I ></TT >, <TT CLASS="REPLACEABLE" ><I >s</I ></TT >) ]</TT ></TD ><TD >exact numeric of selectable precision</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >path</TT ></TD ><TD > </TD ><TD >geometric path in the plane</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >point</TT ></TD ><TD > </TD ><TD >geometric point in the plane</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >polygon</TT ></TD ><TD > </TD ><TD >closed geometric path in the plane</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >real</TT ></TD ><TD ><TT CLASS="TYPE" >float4</TT ></TD ><TD >single precision floating-point number</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >smallint</TT ></TD ><TD ><TT CLASS="TYPE" >int2</TT ></TD ><TD >signed two-byte integer</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >serial</TT ></TD ><TD ><TT CLASS="TYPE" >serial4</TT ></TD ><TD >autoincrementing four-byte integer</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >text</TT ></TD ><TD > </TD ><TD >variable-length character string</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >time [ (<TT CLASS="REPLACEABLE" ><I >p</I ></TT >) ] [ without time zone ]</TT ></TD ><TD > </TD ><TD >time of day</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >time [ (<TT CLASS="REPLACEABLE" ><I >p</I ></TT >) ] with time zone</TT ></TD ><TD ><TT CLASS="TYPE" >timetz</TT ></TD ><TD >time of day, including time zone</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >timestamp [ (<TT CLASS="REPLACEABLE" ><I >p</I ></TT >) ] [ without time zone ]</TT ></TD ><TD > </TD ><TD >date and time</TD ></TR ><TR ><TD ><TT CLASS="TYPE" >timestamp [ (<TT CLASS="REPLACEABLE" ><I >p</I ></TT >) ] with time zone</TT ></TD ><TD ><TT CLASS="TYPE" >timestamptz</TT ></TD ><TD >date and time, including time zone</TD ></TR ></TBODY ></TABLE ></DIV ><DIV CLASS="NOTE" ><BLOCKQUOTE CLASS="NOTE" ><P ><B >Compatibility: </B > The following types (or spellings thereof) are specified by <ACRONYM CLASS="ACRONYM" >SQL</ACRONYM >: <TT CLASS="TYPE" >bit</TT >, <TT CLASS="TYPE" >bit varying</TT >, <TT CLASS="TYPE" >boolean</TT >, <TT CLASS="TYPE" >char</TT >, <TT CLASS="TYPE" >character varying</TT >, <TT CLASS="TYPE" >character</TT >, <TT CLASS="TYPE" >varchar</TT >, <TT CLASS="TYPE" >date</TT >, <TT CLASS="TYPE" >double precision</TT >, <TT CLASS="TYPE" >integer</TT >, <TT CLASS="TYPE" >interval</TT >, <TT CLASS="TYPE" >numeric</TT >, <TT CLASS="TYPE" >decimal</TT >, <TT CLASS="TYPE" >real</TT >, <TT CLASS="TYPE" >smallint</TT >, <TT CLASS="TYPE" >time</TT > (with or without time zone), <TT CLASS="TYPE" >timestamp</TT > (with or without time zone). </P ></BLOCKQUOTE ></DIV ><P > Each data type has an external representation determined by its input and output functions. Many of the built-in types have obvious external formats. However, several types are either unique to <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN >, such as geometric paths, or have several possibilities for formats, such as the date and time types. Some of the input and output functions are not invertible. That is, the result of an output function may lose accuracy when compared to the original input. </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="queries-values.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="datatype-numeric.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><TT CLASS="LITERAL" >VALUES</TT > Lists</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="sql.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Numeric Types</TD ></TR ></TABLE ></DIV ></BODY ></HTML >