escaping double-quotes in varchar array - Mailing list pgsql-general

From David Gauthier
Subject escaping double-quotes in varchar array
Date
Msg-id CAEs=6DnhWbh5QfbZAZy6BdoGdLJ28MCoU1T6pAiZhw6Ze4gMUw@mail.gmail.com
Whole thread Raw
Responses Re: escaping double-quotes in varchar array  ("David G. Johnston" <david.g.johnston@gmail.com>)
List 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 by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: "set role" semantics
Next
From: "David G. Johnston"
Date:
Subject: Re: escaping double-quotes in varchar array