Re: Can't quote_literal with COPY FROM PROGRAM

From: Mark Mikulec <mark(at)mikutech(dot)com>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Can't quote_literal with COPY FROM PROGRAM
Date: 2018-12-31 20:58:46
Message-ID: CA+aX0efS0juJfAfxZO5oZU9EeWgoDCG0RCoiHyNv7orYbJ_uOg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I changed it to be just the single float value I needed to extract out of
the JSON object, but originally it was a text column that held the entire
JSON object.

On Mon, Dec 31, 2018 at 3:52 PM Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
wrote:

> On 12/31/18 9:36 AM, Mark Mikulec wrote:
> > Hi,
> >
> > This command, which generates a JSON object as output, has some escaped
> > data with backslashes: (see line 91 here: https://pastebin.com/D4it8ybS)
> >
> > C:\\Portable\\curl\\curl.exe -k
> > "
> https://maps.googleapis.com/maps/api/directions/json?etcVariablesDeleted"'
> >
> > I use the COPY command to pull it into a temp table like so:
> >
> > COPY temp_maps_api from program 'C:\\Portable\\curl\\curl.exe -k
> > "
> https://maps.googleapis.com/maps/api/directions/json?etcVariablesDeleted
> "';
>
> So temp_maps_api has a single JSON field?
>
> >
> > However copy eats those backslashes. I need to use quote_literal() but
> > that's a syntax error. For some reason the COPY command doesn't allow
> > for ESCAPE to work with programs, only CSV.
> >
> > I tried using WITH BINARY but I get the error message: "COPY file
> > signature not recognized"
> >
> > Does anyone know how to make COPY FROM PROGRAM take the output literally?
> >
> > Thanks,
> > Mark
> > ᐧ
>
>
> --
> Adrian Klaver
> adrian(dot)klaver(at)aklaver(dot)com
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2018-12-31 21:00:52 Re: Can't quote_literal with COPY FROM PROGRAM
Previous Message David G. Johnston 2018-12-31 20:52:57 Re: Can't quote_literal with COPY FROM PROGRAM