2016-07-20 7 views
2

Я использую основной pgAdmin для просмотра и редактирования моей базы данных PostgreSQL. Теперь я хотел бы использовать PhpStorm.PhpStorm - ERROR: типа «hstore» не существует

В PhpStorm я могу просматривать мои таблицы, но я не могу редактировать данные. Когда я пытаюсь я получаю сообщение об ошибке:

[42704] ERROR: type "hstore" does not exist

Kde: compilation of PL/pgSQL function "on_update" near line 3

Функция on_update на триггер обновления и сохранить старую строку таблицы истории, и он использует hstore типа.

PhpStorm использует postgresql-9.4-1201.jdbc4.jar водитель. Я не знаю, является ли это ошибкой драйвера или ошибкой PhpStorm. Я знаю, что в pgAdmin он работает, а в PhpStorm нет.

+0

Вы должны запустить 'создать расширение hstore' как Postgres суперпользователя: https://www.postgresql.org/docs/current/static/sql-createextension.html –

+0

Я слышал этот совет уже. Это действительно так? Я имею в виду .. Он работает в pgAdmin, так что расширение должно быть создано уже или нет? –

+0

Сообщение об ошибке ясно: расширение ** не установлено **, а функция 'on_update' использует' hstore'. Я предполагаю, что pgAdmin не использует эту функцию (откуда бы она ни шла) –

ответ

1

Я работаю с той же средой, что и Vojtěch, и я обнаружил, что расширение действительно создано и присутствует. Но в другой схеме (общедоступной) действует текущее соединение (PostgreSQL search_path). Вероятно, в PhpStorm есть ошибка, поскольку он не соблюдает по умолчанию поиск по умолчанию для PostgreSQL.

Некоторые обходные (только для DB консоли):

  • В консоли базы данных используется RESET SEARCH_PATH; заявление.
  • Вы можете ввести в действие search_path по соединению JDBC, см. question.
+0

Для ошибки: https://youtrack.jetbrains.com/issue/DBE-2937 –

+0

Проблема, похоже, решена! –

Смежные вопросы