escaping double-quotes in varchar array

Поиск
Список
Период
Сортировка
От David Gauthier
Тема escaping double-quotes in varchar array
Дата
Msg-id CAEs=6DnhWbh5QfbZAZy6BdoGdLJ28MCoU1T6pAiZhw6Ze4gMUw@mail.gmail.com
обсуждение исходный текст
Ответы Re: escaping double-quotes in varchar array  ("David G. Johnston" <david.g.johnston@gmail.com>)
Список pgsql-general
psql (11.5, server 11.3) on linux
Trying to insert a string containing a double-quote into a varchar arr.  Here's my attempt

    dvdb=# create table testarr (arr varchar[]);
    CREATE TABLE
    dvdb=# insert into testarr (arr) values ('{"abcdefg"}');
    INSERT 0 1
    dvdb=# select * from testarr;
        arr    
    -----------
     {abcdefg}
    (1 row)

    dvdb=# insert into testarr (arr) values ('{"hijk"lmnop"}');
    ERROR:  malformed array literal: "{"hijk"lmnop"}"
    LINE 1: insert into testarr (arr) values ('{"hijk"lmnop"}');
                                              ^
    DETAIL:  Unexpected array element.
    dvdb=# insert into testarr (arr) values ('{"hijk""lmnop"}');
    ERROR:  malformed array literal: "{"hijk""lmnop"}"
    LINE 1: insert into testarr (arr) values ('{"hijk""lmnop"}');
                                              ^
    DETAIL:  Unexpected array element.
    dvdb=# insert into testarr (arr) values ('{"hijk\"lmnop"}');
    INSERT 0 1
    dvdb=# select * from testarr;
           arr      
    -----------------
     {abcdefg}
     {"hijk\"lmnop"}
    (2 rows)

What I'm looking for is...

     {abcdefg}
     {hijk"lmnop}

Can this be done ?

В списке pgsql-general по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: "set role" semantics
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: escaping double-quotes in varchar array