Brug csv-indstillingen til COPY
, med DELIMITER e'\x01' QUOTE e'\x02'
. Jeg er ikke sikker på, om dette virker for alle mulige gyldige JSON, men jeg har aldrig haft det fejl.
$ psql -X testdb -c 'create table t(d jsonb)'
CREATE TABLE
$ cat foo.json
{"a":"Têst"}
$ cat foo.json | psql -X testdb -c "COPY t from stdin csv delimiter e'\x01' quote e'\x02'"
COPY 1
$ psql -X testdb -c 'select * from t';
d
---------------
{"a": "Têst"}
(1 row)