Синтаксическая ошибка друида Postgresql при первоначальной инициализации поиска на координаторе - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь настроить поиск на друиде всего кластера.

Как упомянуто в doc- http://druid.io/docs/latest/querying/lookups.html, 1. Включил "druid-lookups-cached-global" в мою загрузкусписок.2. Я попытался опубликовать пустой объект json для инициализации конфигурации.

Команда, которую я выполнил:

curl -X 'POST' -d @blank.json http://localhost:8081/druid/coordinator/v1/lookups/config/

{localhost - мой узел-координатор в распределенной среде. Мой blank.json содержит: {}}

Это ошибка, которую я получаю при публикации пустого файла json:

org.skife.jdbi.v2.exceptions.UnableToExecuteStatementException: org.postgresql.util.PSQLException: ОШИБКА: синтаксическая ошибка в или около «ОБНОВЛЕНИЕ» Позиция: 18 [оператор: «НАЧАЛО; БЛОКИРОВКА СТОРОНЫ druid_config IN SHARE ROW ИСКЛЮЧИТЕЛЬНЫЙ РЕЖИМ; С upsert AS (UPDATE druid_config SET payload =: значение WHERE name =: ключ RETURNING *) INSERTINTO druid_config (name, payload) SELECT: ключ,: значение, ГДЕ НЕ СУЩЕСТВУЕТ (SELECT * FROM upsert); COMMIT; ", расположено:" BEGIN; LOCK TABLE druid_config IN SHARE ROW ИСКЛЮЧИТЕЛЬНЫЙ РЕЖИМ; С upsert AS (ОБНОВЛЕНИЕ druid_config SET payload =: значение WHERE name =: key RETURNING *) INSERT INTO druid_config (name, payload) SELECT: key,: значение WHERE NOT EXISTS (SELECT * FROM upsert); COMMIT; ", переписано:"НАЧАТЬ;LOCK TABLE druid_config в эксклюзивном режиме SHARE ROW;С upsert AS (ОБНОВЛЕНИЕ druid_config SET полезная нагрузка =? ГДЕ имя =? ВОЗВРАЩЕНИЕ *) ВСТАВИТЬ В ДРУЖЕРИЮ_config (имя, полезная нагрузка) SELECT?,?WHERE NOT EXISTS (SELECT * FROM upsert); COMMIT; ", аргументы: {positional: {}, named: {value: [123, 125], ключ: 'lookupsConfig'}, искатель: []}]

Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 16 октября 2018

Ошибка произошла из-за версии postgresql, которую я использовал.Утверждения Upsert, которые были уволены из druid, не поддерживаются в версии postgresql ниже 9.1.

...