Tom Lane wrote:
>
> Patrik Kudo <kudo@partitur.se> writes:
> > create table login (userid text, when datetime);
> > select when from login where userid = 'xxxx';
> > In 6.5 I have to do:
> > select "when" from login where userid = 'xxxx';
>
> Right ... WHEN is a keyword in CASE expressions, which didn't use to
> be implemented but are now.
Ah! that explains that part...
> > My question now is, should I always quote column names, just in case,
> > or should I only quote column names that are "almost reserved"?
>
> In theory you should only have to worry about keywords that are
> reserved in SQL92 but that Postgres hasn't gotten around to implementing
> yet. That's a fairly short list, I think, but I do not have the
> details handy. (Anyone?)
The list of reserved keywords can be found at:http://www.postgresql.org/ -> Info Central -> Documentation -> User's
Guide
-> SQL Syntax -> Key Words.
That list doesn't say which need to be quoted though.
> Quoting every column name in sight would make your SQL pretty unreadable
> (pg_dump now does it by default ... try reading pg_dump commands :-().
> Also, if you have a reserved word as a column name, you won't be able
> to access the table at all using tools that don't quote column names.
> Better to rename your columns if you get burnt by this.
Will do, will do...
/Kudo