Hello.  I have run into an issue when using the copy command on tables with 
json columns where Postgres seems to improperly escape backslashes under 
certain conditions thus creating invalid JSON.  Here is an example I have of 
the behavior:

create table test_json(json_data json);
insert into test_json values ('{"test1": "2011-01-01", 
"description":"test\ntest2\ntest3 test''s\n \"Quoted Phrase\" test\ntest."}’);
copy test_json to '/var/tmp/t.json’;

cat /var/tmp/t.json
{"test1": "2011-01-01", "description":"test\\ntest2\\ntest3 test's\\n \\"Quoted 
Phrase\\" test\\ntest."}

Note that the quotes within the json field have \\ in front, thus negating the 
escape of the quotes around “Quoted Phrase”.  Which then renders the whole 
thing invalid JSON.  Is this a bug?

I am using PostgreSQL V12.16.

Thanks,
Greig Wise

Reply via email to