Ошибка PostGIS: тип "география" не существует
Я только что обновил свою машину разработки до Windows 7 и поэтому переустановил PostgreSQL и PostGIS. Я использовал установщик Postgres Plus, как рекомендовано на веб-сайте Postgres, и следовал в этом уроке для установки. Я создал базу данных с помощью template_postgis, и приложение, которое я сейчас разрабатываю, смог подключиться к базе данных без проблем.
однако мой старый код не может создавать таблицы использование PostGIS Geography
как раньше. Например, когда я пытаюсь создать следующую таблицу:
CREATE TABLE test_area (
id SERIAL PRIMARY KEY,
name VARCHAR(1000),
area GEOGRAPHY(POLYGON, 4326),
start_time DATE,
end_time DATE
)
Я получаю следующую ошибку:
ERROR: type "geography" does not exist
LINE 4: area GEOGRAPHY(POLYGON, 4326),
^
если я посмотрю под базой данных в Object brower pgAdmin III, я увижу кучу Geometry
функции, поэтому установка, кажется, работает. Не знаю, в чем моя проблема. Возможно ли, чтобы установщик устанавливал только PostGIS Geometry
, а не Geography
?
4 ответов
Я уже сталкивался с этой проблемой раньше, но то, что помогло мне, не было ответом на сайте ГИС.
У меня установлен Postgresql через Homebrew, и у меня также установлено приложение Postgresql. Что касается PostGIS, то я установил его через Homebrew.
когда я столкнулся с этой проблемой, я запускал приложение Postgresql вместо запуска его в терминале, поэтому, конечно, вы получите эту ошибку PostGIS, потому что PostGIS никогда не был установлен в приложении Postgresql. Однажды Я ... запустил Postgresql в терминале, это сработало для меня.
обновление 9/25/2014:
возможно, вы не создали расширение для PostGIS в своей базе данных:
$ psql
psql> \c databaseName;
psql> CREATE EXTENSION Postgis;
может быть, есть некоторые проблемы с postgis, сначала посмотрите, существует ли тип "география"? просто как нижеизложенного;
db_lbs= > \ DT geography
List of data types
Schema | Name | Description
--------+-----------+-------------
lbs | geography |
(1 row)
Кстати, обратите внимание на текущий search_path;
Я думаю, что тип "география" не существует в вашей схеме, может он существует в общедоступной схеме, Так что сначала проверьте его。
Я получил ответ на свой вопрос на ГИС. У меня был установлен PostGIS 1.4, но Geography
не был добавлен до PostGIS 1.5. Поэтому мне пришлось удалить то, что у меня было, и переустановить Postgres. У меня были большие трудности в поиске версии, хотя в комплекте с PostGIS 1.5,. Мне дали совет не использовать проприетарное программное обеспечение "Postgres Plus", хотя, поскольку требуется время EnterpriseDB для переноса самых современных дополнений и тому подобного. Вместо этого я был перенаправлен на обычный PostgreSQL скачать на сайте EnterpriseDB, который удивительно сложно найти. здесь. 64-разрядная версия не поставляется с PostGIS, поэтому мне пришлось использовать 32-разрядную версию, которая работала. Наконец-то!
Я испытал ту же проблему, я решил ее, сняв установку postgres, postgis и переустановил, а затем официальную документацию по установке. Для windows:
http://postgis.net/windows_downloads
для Ubuntu & OSX: