On 08/20/2014 08:42 AM, Lori Corbani wrote:
OK...if I manually run this within psql it is fine.
But I have a shell script in which I am wrapping a call to 'psql'...and I guess it does not like how things are being passed in when I do it this way.
So, yes, it is working correctly when I copy/paste my script directly into psql.
Will try a different approach to my wrapper.
An additional thing to watch out for is the mixed case in the function
name. To demonstrate using a table name:
aklaver@test=> create table "CamelCap_Quoted" (id int);
CREATE TABLE
aklaver@test=> create table CamelCap_Not_Quoted (id int);
CREATE TABLE
aklaver@test=> select * from CamelCap_Quoted;
ERROR: relation "camelcap_quoted" does not exist
LINE 1: select * from CamelCap_Quoted;
^
aklaver@test=> select * from "CamelCap_Quoted";
id
----
(0 rows)
aklaver@test=> select * from CamelCap_Not_Quoted;
id
----
(0 rows)
aklaver@test=> \d
List of relations
Schema | Name | Type | Owner
--------+---------------------+----------+----------
public | CamelCap_Quoted | table | aklaver
public | camelcap_not_quoted | table | aklaver
If the name is quoted the case is preserved and you have to quote the
name to get the same object. A lot of frameworks/ORMS automatically
quote object names so this something to watch out for. In the unquoted
case the name is folded to lower case by default. So you can get in a
situation where you have both the quoted and unquoted name and not be
working on the object you think you are.
Many thanks!
Lori
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general