Search Postgresql Archives

Re: copying json data and backslashes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 22/11/2022 20:11 CET pbj@xxxxxxxxxx <pbj@xxxxxxxxxx> wrote:
>
> On Tuesday, November 22, 2022 at 01:16:02 PM EST, Peter J. Holzer <hjp-pgsql@xxxxxx> wrote:
>
> > On 2022-11-22 17:39:04 +0000, Alastair McKinley wrote:
>  > > > \copy footable from 'input.json' (format csv, escape '^B', delimieter '^C
> ', quote '^E')
>  > > >
>  > > > where the control characters are the actual control char, not the
>  > > > caret-letter, and it requires no escaping escapes. I realize this
>  > > > won't work for all
>  > > > situations.
>  > >
>  > > Thanks for the suggestion, this is interesting to me to try but I am
>  > > not quite sure how this works.
>  > > As far as I understand, escape/quote/delimiter have to be a single
>  > > character, and CTRL-C etc. are multiple characters.
>  >
>
> Yes, Alastair, Peter said what I would have...
>
>  > You may have to hit several Keys[1] on your keyboard, but Ctrl-C is a
>  > single character, just like Shift-C is (the former has code 0003, the
>  > latter 0043).
>  >
>  > On Unix-like systems you can usually type the control characters by
>  > typing Ctrl-V first:
>  >
>  > At the psql prompt, type
>  > select ascii('
>  > then hit V while holding the ctrl key
>  > then hit C while holding the ctrl key
>  > The terminal should display that as ^C
>  > then complete the line with
>  > ');
>  > so that it looks like
>  > select ascii('^C');
>  > and hit return:
>  >
>  >
>  > [1] There are usually four Ctrl-Characters which need only a single
>  > key: Ctrl-I (TAB), Ctrl-M (CR), Ctrl-[ (ESC) and Ctrl-H (BS) or Ctrl-?
>  > (DEL).
>  >
>  > (On Unix systems CR is normally translated to LF, on Windows to CRLF)
>  >

Or use C-style escapes[1]:

    \copy footable from 'input.json' (format csv, escape e'\2', delimiter e'\3', quote e'\5')

[1] https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS-ESCAPE

--
Erik






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux