создать расширение не работает в PostgresSQL - PullRequest
0 голосов
/ 28 декабря 2018

Мне нужно установить расширение PostGIS для PostgreSQL, чтобы я мог использовать географическую базу данных.

Вот что я сделал:

  • Я создалбаза данных с именем city и подключенная к ней.
  • Я следовал этому руководству и набрал следующие команды, которые, я считаю, используются для установки postgis

(из моей истории оболочки ...)

sudo apt install postgresql-10-postgis-2.4
sudo apt install postgresql-10-postgis-scripts
sudo apt install postgresql-10-pgrouting
sudo apt install postgis

Затем я попытался создать расширение в базе данных city, но получил следующую ошибку:

postgres@yuqiong-G7-7588:~$ psql
psql (11.1 (Ubuntu 11.1-1.pgdg16.04+1), server 9.5.14)
Type "help" for help.

postgres=# \c city
psql (11.1 (Ubuntu 11.1-1.pgdg16.04+1), server 9.5.14)
You are now connected to database "city" as user "postgres".
city=# CREATE EXTENSION postgis;
ERROR:  could not open extension control file "/usr/share/postgresql/9.5/extension/postgis.control": No such file or directory

КакВ результате я подозреваю, что расширение postgis не установлено успешно, потому что я также получил эту ошибку при попытке проверить его версию:

city=# select postgis_version();
ERROR:  function postgis_version() does not exist
LINE 1: select postgis_version();
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

Чего мне не хватает?Было бы замечательно, если бы вы указали на дыры в моем понимании.Спасибо!

1 Ответ

0 голосов
/ 28 декабря 2018

psql (11.1 (Ubuntu 11.1-1.pgdg16.04 + 1), сервер 9.5.14 )

Вы подключены не к тому серверу, если у вас несколько разных postgresна запущенных серверах вы можете попробовать подключиться к другому порту, например, 5433 или 5434

, похоже, у вас установлено как минимум три версии postgresql: 9.5.14, 10. * и 11.1, у вас установлен postgis для версии 10так что это означает, что вам нужно подключиться к серверу postgresql версии 10. для создания расширения.

Попробуйте запустить:

psql -p 5433

и посмотрите, подключается ли он к правильному серверу postgresql

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...