Re: [SQL] "quoting" column names

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Patrik Kudo <kudo(at)partitur(dot)se>
Cc: pgsql-sql(at)postgreSQL(dot)org
Subject: Re: [SQL] "quoting" column names
Date: 1999-07-13 14:08:21
Message-ID: 22436.931874901@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Patrik Kudo <kudo(at)partitur(dot)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.

> 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?)

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.

regards, tom lane

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Patrik Kudo 1999-07-13 14:19:23 Re: [SQL] "quoting" column names
Previous Message Tom Lane 1999-07-13 14:01:55 Re: [SQL] Postgres ERROR