Forum: Ruby unable run \copy command via PGconn.( exec || query )

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
054515cb92a507d2b549b8fe4c281fff?d=identicon&s=25 Ashik Ali (ashikalim)
on 2009-04-03 17:10

Hi ,
   I am facing problem while executing following code :

  require 'postgres'
obj = PGconn.new( '192.168.1.156',5432 ,'','','tikono','tikono','tikono'
)
a =  "\\COPY
ivr_interface.call_flow(ref_id,loaded_time,menuid,expected_dtmf,expected_dtmf_status,processing_input,confirmation,external_staus,external_value)
from ./backupFiles/ivr_interface.call_flow.new WITH DELIMITER '$'  NULL
'nil'"
p a
obj.exec( a )
p obj.methods

Error :
query.rb:5:in `exec': ERROR:  syntax error at or near "\" at character 1
(PGError)
  from query.rb:5
               X=============================X

If I use  "\copy ..." , Instead of  "\\copy" then I got
query.rb:3: Invalid escape character syntax
a =  "\COPY
ivr_interface.call_flow(ref_id,loaded_time,menuid,expected_dtmf,expected_dtmf_status,processing_input,confirmation,external_staus,external_value)
from ./backupFiles/ivr_interface.call_flow.new WITH DELIMITER '$'  NULL
'nil'"

   Note : Not PGERROR


If I use ,
'\COPY
ivr_interface.call_flow(ref_id,loaded_time,menuid,expected_dtmf,expected_dtmf_status,processing_input,confirmation,external_staus,external_value)
from ./backupFiles/ivr_interface.call_flow.new WITH DELIMITER \'$\'
NULL \'nil\''

I got the Error as ,
query.rb:5:in `exec': ERROR:  syntax error at or near "\" at character 1
(PGError)
  from query.rb:5

Can anyone tell me How to escape this \copy in PGconn.( query|| exec )
method ?

cheers,
ashikali
1bac2e65d64faf472cf2ebc94f0f5ee0?d=identicon&s=25 Ara Howard (ahoward)
on 2009-04-03 17:21
(Received via mailing list)
On Apr 3, 2009, at 9:09 AM, Ashikali Ashikali wrote:

> Can anyone tell me How to escape this \copy in PGconn.( query|| exec )

all of the \*** commands are implemented by the psql command line
program, not the database, so none of them will ever work with a raw
connection.  fyi.

a @ http://codeforpeople.com/
054515cb92a507d2b549b8fe4c281fff?d=identicon&s=25 Ashik Ali (ashikalim)
on 2009-04-03 18:17
Ara Howard wrote:
> On Apr 3, 2009, at 9:09 AM, Ashikali Ashikali wrote:
>
>> Can anyone tell me How to escape this \copy in PGconn.( query|| exec )
>
> all of the \*** commands are implemented by the psql command line
> program, not the database, so none of them will ever work with a raw
> connection.  fyi.
>
> a @ http://codeforpeople.com/

Thanks for your response . But I found the solution using psql command .
That is ,
psql -A -c "\\COPY
ivr_interface.call_reports(pbxid,channeltype,callerid,calledid,landedtime,endedtime,endstatus,endreason,progresslangauge,defaultlanguage,internalerror)
from ./backupFiles/ivr_interface.call_reports.new WITH DELIMITER '$'
NULL 'nil'"  -q -t -h 192.168.1.156 -U tikono tikono"

cheers,
ashikali
This topic is locked and can not be replied to.