-<chapter id="syntax">
+<chapter>
<title>SQL Syntax</title>
<sect1>
<firstterm>not restricted</firstterm>, which indicates that in certain
contexts they
have a specific meaning but are not otherwise constrained.
+</para>
<para>
<productname>Postgres</productname> implements an extended subset of the
elements are not as restricted in this implementation as is
called for in the language standards, in part due
to the extensibility features of <productname>Postgres</productname>.
+</para>
<para>
Information on <acronym>SQL92</acronym> and <acronym>SQL3</acronym> key words
-is derived from <xref linkend="DATE97" endterm="DATE97-full">.
+is derived from <xref linkend="DATE97" endterm="DATE97">.
+</para>
-<Sect2>
-<Title>Reserved Key Words</Title>
+<sect2>
+<title>Reserved Key Words</title>
-<Para>
+<para>
<acronym>SQL92</acronym> and <acronym>SQL3</acronym> have
<firstterm>reserved key words</firstterm> which are not allowed
as identifiers and not allowed in any usage other than as fundamental
which have similar restrictions. In particular, these key words
are not allowed as column or table names, though in some cases
they are allowed to be column labels (i.e. in AS clauses).
+</para>
<tip>
<para>
Any string can be specified as an identifier if surrounded by
double quotes (<quote>like this!</quote>). Some care is required since
such an identifier will be case sensitive
-and will retain embedded whitespace other special characters.
+and will retain embedded whitespace other special characters.</para>
</tip>
<para>
UNLISTEN UNTIL
VACUUM VERBOSE
</programlisting>
+</para>
+<para>
The following are <productname>Postgres</productname>
reserved words which are also <acronym>SQL92</acronym>
or <acronym>SQL3</acronym> reserved words, and which
VALUES VARCHAR VARYING VIEW
WHERE WITH WORK
</programlisting>
+</para>
+<para>
The following are <acronym>SQL92</acronym> reserved key words which
are not <productname>Postgres</productname> reserved key words, but which
if used as function names are always translated into the function
<programlisting>
CHAR_LENGTH CHARACTER_LENGTH
</programlisting>
+</para>
+<para>
The following are <acronym>SQL92</acronym> or <acronym>SQL3</acronym>
reserved key words which
are not <productname>Postgres</productname> reserved key words, but
<programlisting>
BOOLEAN DOUBLE FLOAT INT INTEGER INTERVAL REAL SMALLINT
</programlisting>
+</para>
<para>
The following are either <acronym>SQL92</acronym>
These functions are defined in <productname>Postgres</productname>,
but the parser does not consider the names to be key words and they are allowed
in other contexts.
+</para>
</note>
<programlisting>
VALUE
WHENEVER WRITE
</programlisting>
+</para>
+</sect2>
-<Sect2>
-<Title>Non-reserved Keywords</Title>
+<sect2>
+<title>Non-reserved Keywords</title>
-<Para>
+<para>
<acronym>SQL92</acronym> and <acronym>SQL3</acronym> have
<firstterm>non-reserved keywords</firstterm> which have
a proscribed meaning in the language but which are also allowed
which allow similar unrestricted usage.
In particular, these keywords
are allowed as column or table names.
+</para>
<para>
The following are <productname>Postgres</productname>
TRUSTED
VALID VERSION
</programlisting>
+</para>
<para>
The following are <productname>Postgres</productname>
YEAR
ZONE
</programlisting>
+</para>
<para>
The following are <productname>Postgres</productname>
<programlisting>
TYPE
</programlisting>
+</para>
<para>
The following are either <acronym>SQL92</acronym>
TABLE_NAME
UNCOMMITTED UNNAMED
</programlisting>
+</para>
+</sect2>
+</sect1>
+</chapter>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:nil
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"./reference.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:"/usr/lib/sgml/CATALOG"
+sgml-local-ecat-files:nil
+End:
+-->