postgres dblink escape single quote

Ссылка по теме:

Вот моя ошибка:

ERROR:  type "e" does not exist

Вот мой запрос:

SELECT *
FROM dblink('host=theHostName port=1234 dbname=theDBName user=theUser password=thePassword',
    E'SELECT field_1, 
    CASE WHEN field_2 IS NOT NULL 
    THEN \'inactive\' ELSE \'active\' 
    END AS field_status 
    FROM the_table 
     ') 
AS linkresults(field_1 varchar(20),field_2 varchar(8))

Если я использую двойные кавычки, удалите обратную косую черту для одинарных кавычек и удалите E перед оператором SELECT

SELECT *
FROM dblink('host=theHostName port=1234 dbname=theDBName user=theUser password=thePassword',
    "SELECT field_1, 
    CASE WHEN field_2 IS NOT NULL 
    THEN 'inactive' ELSE 'active' 
    END AS field_status 
    FROM the_table 
     ") 
AS linkresults(field_1 varchar(20),field_2 varchar(8))

Я получаю следующее:

NOTICE:  identifier "SELECT ..." will be truncated

И я также получаю ОШИБКУ, поскольку мой запрос был усечен.

I раньше сбегали с помощью dblink, как это раньше, так есть ли настройки сервера или что-то, что мне нужно настроить?

Я знаю, что запрос работает нормально, если я запускаю его на самом сервере sql, но не с dblink. Есть мысли?

Postgres версии 8.4

11
задан Community 23 May 2017 в 12:13
поделиться