Case sensitivity question . . .
Hey All,
I'm trying to create new databases and tables. The database names and
tables always end up in lower case. Is there a way to have some upper case
letters in database and table names?
Thanks for any help.
Peter
http://www7.us.postgresql.org/users-lounge/docs/7.1/user/sql-syntax.html#SQL
-SYNTAX-IDENTIFIERS
----- Excerpt -----
There is a second kind of identifier: the delimited identifier or quoted
identifier. It is formed by enclosing an arbitrary sequence of characters in
double-quotes ("). A delimited identifier is always an identifier, never a
key word. So "select" could be used to refer to a column or table named
"select", whereas an unquoted select would be taken as a key word and would
therefore provoke a parse error when used where a table or column name is
expected. The example can be written with quoted identifiers like this:
UPDATE "my_table" SET "a" = 5;
Quoted identifiers can contain any character other than a double quote
itself. This allows constructing table or column names that would otherwise
not be possible, such as ones containing spaces or ampersands. The length
limitation still applies.
Quoting an identifier also makes it case-sensitive, whereas unquoted names
are always folded to lower case. For example, the identifiers FOO, foo and
"foo" are considered the same by Postgres, but "Foo" and "FOO" are different
from these three and each other. [1]
----------
That being said, I wouldn't do it unless you really need it.
Greg
----- Original Message -----
From: "Peter E. Chen" <pchen3@jhmi.edu>
To: "Postgres (General)" <pgsql-general@postgresql.org>
Sent: Wednesday, January 02, 2002 3:21 PM
Subject: [GENERAL] Case sensitivity question . . .
Hey All,
I'm trying to create new databases and tables. The database names and
tables always end up in lower case. Is there a way to have some upper
case
Show quoted text
letters in database and table names?
Thanks for any help.
Peter
---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
"Peter E. Chen" <pchen3@jhmi.edu> writes:
Hey All,
I'm trying to create new databases and tables. The database names and
tables always end up in lower case. Is there a way to have some upper case
letters in database and table names?
Put the mixed-case table names in double quotes, eg:
create table "MyTable" ("myField" integer);
Note that if you do this you will ALWAYS have to use double-quotes
around those names, as the query parser always folds case otherwise.
-Doug
--
Let us cross over the river, and rest under the shade of the trees.
--T. J. Jackson, 1863
Import Notes
Reply to msg id not found: PeterE.Chen'smessageofWed02Jan2002152104-0500
I'm trying to create new databases and tables. The database names and
tables always end up in lower case. Is there a way to have some upper
case
letters in database and table names?
You can double quote the names.
[2002-01-02 15:21] Peter E. Chen said:
| Hey All,
|
| I'm trying to create new databases and tables. The database names and
| tables always end up in lower case. Is there a way to have some upper case
| letters in database and table names?
Yes, quote the names...
brent=# create table "A1" ( "SteakSauce" int );
CREATE
brent=# \d "A1"
Table "A1"
Attribute | Type | Modifier
------------+---------+----------
SteakSauce | integer |
Be aware that if you choose to use mixed case names, you must
/always/ quote them, which introduces just enough room for human
error that I'd not recommend using quoted names.
brent=# INSERT INTO A1 VALUES (1);
ERROR: Relation 'a1' does not exist
brent=# INSERT INTO "A1" VALUES (1);
INSERT 100155 1
brent=# SELECT * FROM A1;
ERROR: Relation 'a1' does not exist
brent=# SELECT * FROM "A1";
SteakSauce
------------
1
(1 row)
cheers.
brent
--
"Develop your talent, man, and leave the world something. Records are
really gifts from people. To think that an artist would love you enough
to share his music with anyone is a beautiful thing." -- Duane Allman
Peter E. Chen wrote:
I'm trying to create new databases and tables. The database names and
tables always end up in lower case. Is there a way to have some upper case
letters in database and table names?
You may enclose the names in quotes.
-dj trombley
<dtrom@bumba.net>