<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/datatype.sgml,v 1.60 2001/08/31 01:55:25 ishii Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/datatype.sgml,v 1.61 2001/09/04 03:17:54 momjian Exp $
-->
<chapter id="datatype">
<entry>rectangular box in 2D plane</entry>
</row>
+ <row>
+ <entry><type>bytea</type></entry>
+ <entry></entry>
+ <entry>binary data</entry>
+ </row>
+
<row>
<entry><type>character(<replaceable>n</replaceable>)</type></entry>
<entry><type>char(<replaceable>n</replaceable>)</type></entry>
<entry>text</entry>
<entry>Variable unlimited length</entry>
</row>
- </tbody>
+ <row>
+ <entry>bytea</entry>
+ <entry>binary data</entry>
+ </row>
+ </tbody>
</tgroup>
</table>
standard, many other RDBMS packages have it as well.
</para>
+ <para>
+ The <type>bytea</type> data type allows storage of binary data,
+ specifically allowing storage of NULLs which are entered as
+ <literal>'\\000'</>. The first backslash is interpreted by the
+ single quotes, and the second is recognized by <type>bytea</> and
+ preceeds a three digit octal value. For a similar reason, a
+ backslash must be entered into a field as <literal>'\\\\'</> or
+ <literal>'\\134'</>. You may also have to escape line feeds and
+ carriage return if your interface automatically translates these. It
+ can store values of any length. <type>Bytea</> is a non-standard
+ data type.
+ </para>
+
<para>
The storage requirement for data of these types is 4 bytes plus
the actual string, and in case of <type>character</type> plus the