Обсуждение: Problem with /usr/local/pgsql/bin/psql
Hi ,
I am trying to insert data into the table via shell script using psql command.
But it giving syntax error. the same query is finely working pgAdmin III client.
The query and error given below.
Eg:
/usr/local/pgsql/bin/psql -d temp -c 'insert into temp.ip_mapping_tb(ip,location) values('192.100.9.51','FirstFloor')'
ERROR: syntax error at or near ".9" at character 85
LINE 1: ...pping_tb(ip,location) values(192.100.9.51,Firs...
LINE 1: ...pping_tb(ip,location) values(192.100.9.51,Firs...
Also when i am givinf Firstfloor as First Floor it was giving error
/usr/local/pgsql/bin/psql -d temp -c 'insert into temp.ip_mapping_tb(ip,location) values('192.100.9.51','First Floor')'
psql: FATAL: role "Floor)" does not exist
Thanks and Regards
Dhanesh
The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. www.wipro.com |
Your problem here is quoting. You need to escape the quotes around the
SQL strings so that the shell (I assume you're using Unix of some
flavour) doesn't interpret them:
/usr/local/pgsql/bin/psql -d temp -c 'insert into
temp.ip_mapping_tb(ip,location) values(\'192.100.9.51\',\'FirstFloor\')'
However, if I were you I would consider running via a file anyway - if
you save your query into a file then you can use
psql -d temp -f foo.sql
instead. Within the file you can type your query exactly like it should
be with no special escaping required.
Hope this helps,
Robin
dhanesh.prabha@wipro.com wrote:
> Hi ,
>
>
> I am trying to insert data into the table via shell script using
> psql command.
> But it giving syntax error. the same query is finely working pgAdmin
> III client.
> The query and error given below.
>
>
> Eg:
>
>
> ERROR: syntax error at or near ".9" at character 85
> LINE 1: ...pping_tb(ip,location) values(192.100.9.51,Firs...
>
>
> Also when i am givinf Firstfloor as First Floor it was giving
> error
>
>
> /usr/local/pgsql/bin/psql -d temp -c 'insert into
> temp.ip_mapping_tb(ip,location) values('192.100.9.51','First Floor')'
>
>
> psql: FATAL: role "Floor)" does not exist
>
>
You're using single quotes inside single quotes, you'll need to either
escape them or switch to double-quotes for your outer string delimiter
(preferred). ie:
/usr/local/pgsql/bin/psql -d temp -c "insert into temp.ip_mapping_tb(ip,
location) values('192.100.9.51','First Floor')"
Jason Minion
jason.minion@sigler.com
________________________________
From: pgsql-admin-owner@postgresql.org
[mailto:pgsql-admin-owner@postgresql.org] On Behalf Of
dhanesh.prabha@wipro.com
Sent: Wednesday, April 19, 2006 5:01 AM
To: pgsql-admin@postgresql.org
Subject: [ADMIN] Problem with /usr/local/pgsql/bin/psql
Hi ,
I am trying to insert data into the table via shell script using
psql command.
But it giving syntax error. the same query is finely working pgAdmin
III client.
The query and error given below.
Eg:
/usr/local/pgsql/bin/psql -d temp -c 'insert into
temp.ip_mapping_tb(ip,location) values('192.100.9.51','FirstFloor')'
ERROR: syntax error at or near ".9" at character 85
LINE 1: ...pping_tb(ip,location) values(192.100.9.51,Firs...
Also when i am givinf Firstfloor as First Floor it was giving
error
/usr/local/pgsql/bin/psql -d temp -c 'insert into
temp.ip_mapping_tb(ip,location) values('192.100.9.51','First Floor')'
psql: FATAL: role "Floor)" does not exist
Thanks and Regards
Dhanesh
The information contained in this electronic message and any attachments
to this message are intended for the exclusive use of the addressee(s)
and may contain proprietary, confidential or privileged information. If
you are not the intended recipient, you should not disseminate,
distribute or copy this e-mail. Please notify the sender immediately and
destroy all copies of this message and any attachments.
WARNING: Computer viruses can be transmitted via email. The recipient
should check this email and any attachments for the presence of viruses.
The company accepts no liability for any damage caused by any virus
transmitted by this email.
www.wipro.com
have you tried using double quotes on your command instead of that single quote...
ex. psql -c "insert into table values('a', 'b')"
On 4/19/06, dhanesh.prabha@wipro.com < dhanesh.prabha@wipro.com> wrote:
Hi ,I am trying to insert data into the table via shell script using psql command.But it giving syntax error. the same query is finely working pgAdmin III client.The query and error given below.Eg:/usr/local/pgsql/bin/psql -d temp -c 'insert into temp.ip_mapping_tb(ip,location) values('192.100.9.51','FirstFloor')'ERROR: syntax error at or near ".9" at character 85
LINE 1: ...pping_tb(ip,location) values(192.100.9.51,Firs...Also when i am givinf Firstfloor as First Floor it was giving error/usr/local/pgsql/bin/psql -d temp -c 'insert into temp.ip_mapping_tb(ip,location) values('192.100.9.51','First Floor')'psql: FATAL: role "Floor)" does not exist
Thanks and Regards
Dhanesh
The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments.
WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email.
www.wipro.com
--
"The trouble with the rat race is that even if you win, you're still a rat." --- Lily Tomlin
Its working fine now.
Thanks a lot.
Dhanesh Prabha P.V | WIPRO Technologies | Bangalore
+91-80-25056768 | (+91) 9986335390 | Voice Net: 805-4736
-----Original Message-----
From: Jason Minion [mailto:jason.minion@sigler.com]
Sent: Monday, April 24, 2006 6:52 PM
To: Dhanesh Prabha (WT01 - CIO OFFICE & OPERATIONS);
pgsql-admin@postgresql.org
Subject: RE: [ADMIN] Problem with /usr/local/pgsql/bin/psql
You're using single quotes inside single quotes, you'll need to either
escape them or switch to double-quotes for your outer string delimiter
(preferred). ie:
/usr/local/pgsql/bin/psql -d temp -c "insert into temp.ip_mapping_tb(ip,
location) values('192.100.9.51','First Floor')"
Jason Minion
jason.minion@sigler.com
________________________________
From: pgsql-admin-owner@postgresql.org
[mailto:pgsql-admin-owner@postgresql.org] On Behalf Of
dhanesh.prabha@wipro.com
Sent: Wednesday, April 19, 2006 5:01 AM
To: pgsql-admin@postgresql.org
Subject: [ADMIN] Problem with /usr/local/pgsql/bin/psql
Hi ,
I am trying to insert data into the table via shell script using
psql command.
But it giving syntax error. the same query is finely working pgAdmin
III client.
The query and error given below.
Eg:
/usr/local/pgsql/bin/psql -d temp -c 'insert into
temp.ip_mapping_tb(ip,location) values('192.100.9.51','FirstFloor')'
ERROR: syntax error at or near ".9" at character 85
LINE 1: ...pping_tb(ip,location) values(192.100.9.51,Firs...
Also when i am givinf Firstfloor as First Floor it was giving
error
/usr/local/pgsql/bin/psql -d temp -c 'insert into
temp.ip_mapping_tb(ip,location) values('192.100.9.51','First Floor')'
psql: FATAL: role "Floor)" does not exist
Thanks and Regards
Dhanesh
The information contained in this electronic message and any attachments
to this message are intended for the exclusive use of the addressee(s)
and may contain proprietary, confidential or privileged information. If
you are not the intended recipient, you should not disseminate,
distribute or copy this e-mail. Please notify the sender immediately and
destroy all copies of this message and any attachments.
WARNING: Computer viruses can be transmitted via email. The recipient
should check this email and any attachments for the presence of viruses.
The company accepts no liability for any damage caused by any virus
transmitted by this email.
www.wipro.com
The information contained in this electronic message and any attachments to this message are intended for the exclusive
useof the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended
recipient,you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy
allcopies of this message and any attachments.
WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for
thepresence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email.
www.wipro.com