Postgres sfugge erroneamente le offerte quando si crea un'esportazione JSON. Si notino le virgolette doppie nell'aggiornamento di seguito ...Postgres row_to_json produce JSON non valido con citazioni con doppio escape
UPDATE models SET column='"hello"' WHERE id=1;
COPY (SELECT row_to_json(models)
FROM (SELECT column FROM shaders WHERE id=1) shaders)
TO '/output.json';
Il contenuto di output.json:
{"column":"\\"hello\\""}
Si può vedere che le citazioni sono fuggiti in modo improprio e crea JSON valido. Dovrebbe essere:
{"column":"\"hello\""}
Come posso risolvere questo bug Postgres o di lavoro intorno ad esso?
Ho inviato questo come bug # 13160 a http://www.postgresql.org/list/pgsql-bugs/ (moderazione in attesa) –
Non è un bug. 'COPY' non è l'output di singoli risultati in un file. Emette i dati orientati alla fila in escape. Sembra che tu voglia invece l'opzione '\ o' di' psql'. –