> > PostgreSQL is actually contrary to the standard here, in that it
> > makes everyting lower-case.
> Which part of which standard is PostgreSQL contrary to?
From my SQL99 draft document (SQL92 has something similar):
20.1 Introduction to Information Schema and Definition Schema
The representation of an <identifier> in the base tables and views
of the Information Schema is by a character string corresponding
to its <identifier body> (in the case of a <regular identifier>)
or its <delimited identifier body> (in the case of a <delimited
identifier>). Within this character string, any lower-case letter
appearing in a <regular identifier> is replaced by the equivalent
upper-case letter, and any <doublequote symbol> appearing in a
<delimited identifier body> is replaced by a <double quote>. Where
an <actual identifier> has multiple forms that are equal according
to the rules of Subclause 8.2, "<comparison predicate>", the form
stored is that encountered at definition time.
The mention of a transformation to upper-case is what Andrew is
referring to; PostgreSQL historically has transformed to lower case and
so far we are too stubborn to change it just because it has become a
standard ;)
- Thomas