Обсуждение: Table names in upper case

Поиск
Список
Период
Сортировка

Table names in upper case

От
tosites@me.com
Дата:
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/9.6/static/sql-syntax-lexical.html
Description:

Although this documentation says that "Key words and unquoted identifiers
are case insensitive." it is not possible to use table or column names in
upper case.

If the table or column name was in upper case it is necessary use quotes to
Postgres accept. Exactly the opposite case showed at documentation.

For example:

CREATE TABLE CLIENT(ID INTEGER, NAME TEXT);

SELECT * FROM CLIENT;   -- an error will be launched

SELECT * FROM "CLIENT";   -- works

But:

CREATE TABLE client(id INTEGER, name TEXT);

SELECT * FROM CLIENT;   -- works

It is, at least, strange.

Cheers.



Re: Table names in upper case

От
Pantelis Theodosiou
Дата:


On Wed, Oct 12, 2016 at 7:12 PM, <tosites@me.com> wrote:
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/9.6/static/sql-syntax-lexical.html
Description:

Although this documentation says that &quot;Key words and unquoted identifiers
are case insensitive.&quot; it is not possible to use table or column names in
upper case.

If the table or column name was in upper case it is necessary use quotes to
Postgres accept. Exactly the opposite case showed at documentation.

For example:

CREATE TABLE CLIENT(ID INTEGER, NAME TEXT);

SELECT * FROM CLIENT;   -- an error will be launched

SELECT * FROM &quot;CLIENT&quot;;   -- works

Are you sure about the CREATE TABLE statement you used? Which version and OS?

Because this is what I get, which matches exactly the documented behaviour (9.5.4, Ubuntu):

x=# CREATE TABLE CLIENT(ID INTEGER, NAME TEXT);
CREATE TABLE
x=# select * from client ;
 id | name
----+------
(0 rows)

x=# select * from "CLIENT" ;
ERROR:  relation "CLIENT" does not exist
LINE 1: select * from "CLIENT" ;
                      ^
x=#


 
Pantelis Theodosiou