отношение geo_dominio не существует

У меня есть схема под названием georeferenciacion_uno, и в этой схеме у меня есть, например, эта таблица geo_dominio.

Работая с eclipse, я мог без проблем подключиться к своей БД, но я не мог сделать простой запрос типа «выбрать * из geo_dominio», потому что я всегда получаю следующий ответ:

org.postgresql.util.PSQLException: ОШИБКА: отношение "geo_dominio" не существует

Я пробовал все эти предложения:

  • "выберите * из geo_dominio"
  • "выберите * из GEO_DOMINIO"
  • "выберите * из \"geo_dominio\""
  • "выберите * из \"GEO_DOMINIO\""
  • "выберите * из georeferenciacion_uno.geo_dominio" ---> но здесь я получил этот ответ: org.postgresql.util.PSQLException: ОШИБКА: схема "georeferenciacion_uno" не существует

Затем я решил сделать этот запрос непосредственно в pgAdmin со следующими результатами:

ОШИБКА: схема "georeferenciacion_uno" не существует

потом я понял, что ошибка не в моем скрипте Eclipse. Я делаю что-то плохое, но я до сих пор не знаю, что это такое.

Я не могу изменить имена баз данных или таблиц, потому что они работают много лет назад...

Я искал решение этой проблемы здесь, но люди находят свое решение только с одной из этих возможностей, обычно в зависимости от регистра или использования двойных кавычек, как я пытался.

Если бы кто-то мог мне помочь, я бы большое спасибо.


person Richard Vidalo    schedule 14.08.2013    source источник


Ответы (1)


Вот что нужно проверить:

  1. Вы подключены к правильной базе данных? То, что он не находит схему, предполагает, что вы не можете быть. Чтобы проверить это, попробуйте:

      SELECT current_database();
    
  2. Я предполагаю, что ваша схема написана строчными буквами? В противном случае он будет рассматриваться как строчный, если только он не заключен в двойные кавычки.

  3. Как только ваш запрос полного реляционного имени (последний) заработает, вы можете захотеть

      SET search_path=georeferenciacion_uno,public;
    

    поэтому он находит таблицы в этой схеме без имени схемы.

Я предполагаю, что, возможно, вы подключены к неправильной базе данных.

person Chris Travers    schedule 09.11.2013