If you specify an object's name without quoting it, e.g.:

   ALTER TABLE MyTable ADD COLUMN MyNewCol INT4;

then it is read as all lower case. This means, that table "mytable" will be altered, and the new column will be called "mynewcol".

To force mixed or upper case, you quote the names, e.g.:

   ALTER TABLE "MyTable" ADD COLUMN "MyNewCol" INT4;

This will alter only a table called "MyTable", and table "mytable" will not be altered. The new column will be called "MyNewCol".

IMHO, this system allows you to have mixed/upper case if you need it, but keeps things simpler if you don't need it by avoiding case-sensitive confusion. You can keep your SQL code more readable by adopting case-specific name conventions (in the above examples, the SQL keywords are all in upper case and the names all mixed or lower case), without worrying about the objects getting created in a jumble of different cases (if, e.g., a previous DBA used a different case convention from the new DBA).

In my experience the only use for true mixed-case names are when I import a table from another database, e.g. MS SQL Server or Access; at that time it's essential to have the quoting mechanism to ALLOW me to specify a truly-mixed-case table or column name, since the import mechanisms tend to preserve the true name case which in MS are often mixed-case.

Hope this helps,

                            Andrew


Hemapriya wrote:

Hi All,

We have postgresql running in mac. I found whatever db
objects i create from the sql prompt results
in lowercase. Can anyone tell me why it is happening.?
does postgres stores the db objects in lowercase
internally..

If i create something from the shell prompt it remains
in the same case i used. Can anyone tell me what is
the case limitations we have in postgres for
db,table,column names,etc.

Thanks
Priya







__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail


---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster






---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to