Redshift PostgreSQL中的斜杠错误转义


Escaping slash error in Redshift PostgreSQL

我在 Amazon Redshift DB 中插入数据时收到此错误。

数据库错误

:发生数据库错误

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')

请为我提供任何解决方案。谢谢

这可能与使用pg_escape_literal有关。这将生成一个转义字符串,周围带有引号。如果字符串包含反斜杠,则整个字符串前面加上 E,如查询所示。Redshift显然无法处理这个问题。