Ошибка экранирования косой черты в Redshift PostgreSQL

Я получаю эту ошибку при вставке данных в базу данных Amazon Redshift.

Ошибка базы данных: Произошла ошибка базы данных

Error Number: 
ERROR:  type "e" does not exist
INSERT INTO "api_data" ("verb", "request", "uri", "user_id", "device_id", "os", "lat", "long", "app_version", "platform", "network_type", "date_added", "response") VALUES ('post',  E'{"prn":"28135","nce":"WqN6YHtXPzz\\/QAqhj1+TNi2p1nL64f3Ttr77IYZz9vzXaF7DpBF2CSss2aclltI3W\\/PgOXaecqW\\/VAmwVqTlow=="}', 'https://dev.kraftly.com/api/v1/Layer/chatAuthEnc', 0, 'NULL', 'iOS 9.1', NULL, NULL, 'Version 2', 'NULL', 'NULL', '2016-03-21 17:26:24', 'NULL')

Пожалуйста, предоставьте мне любые решения. Спасибо


person shashi272    schedule 22.03.2016    source источник
comment
Пожалуйста, добавьте определение таблицы к вопросу, редактируя ее.   -  person Alfabravo    schedule 31.03.2016


Ответы (1)


Вероятно, это связано с использованием pg_escape_literal. Это создает экранированную строку с кавычками вокруг нее. Если строка содержит обратную косую черту, всему предшествует E, как вы можете видеть в своем запросе. Redshift явно не может с этим справиться.

person Rob    schedule 04.04.2016