Database Reference
In-Depth Information
Getting ready
First, let's create a table that uses a quoted name with mixed case, such as the following:
CREATE TABLE "MyCust"
AS
SELECT * FROM cust;
How to do it...
If we try to access these tables without the proper case we get the following error:
postgres=# SELECT count(*) FROM mycust;
ERROR: relation "mycust" does not exist
LINE 1: SELECT * FROM mycust;
So we write it in the correct case:
postgres=# SELECT count(*) FROM MyCust;
ERROR: relation "mycust" does not exist
LINE 1: SELECT * FROM mycust;
which still fails, and in fact gives the same error.
If you want to access a table that was created with quoted names, then you must use quoted
names, such as the following:
postgres=# SELECT count(*) FROM "MyCust";
count
-------
5
(1 row)
The usage rule is that if you create your tables using quoted names, then you need to write
your SQL using quoted names. Alternatively, if your SQL uses quoted names, then you will
probably have to create the tables using quoted names as well.
How it works...
PostgreSQL folds all names to lowercase when used within an SQL statement, which
means that:
SELECT * FROM mycust;
is exactly the same as:
SELECT * FROM MYCUST;
 
Search WWH ::




Custom Search