Назад | Перейти на главную страницу

Postgres в OS X не может найти файл управления расширением postgis

Использование mac OSX Yosemite 10.10.1. Я удалил и переустановил postgres и postgis с помощью homebrew. Я понимаю, что postgres ищет файл управления postgis не в том месте. Также заметил, что путь «which psql» кажется неверным. Как / где это исправить?

psql

(9.4.0, server 9.3.5)

ERROR:  could not open extension control file "/usr/local/Cellar/postgresql/9.3.5_1/share/postgresql/extension/postgis.control": No such file or directory

найти / usr -name postgis.control

/usr/local/Cellar/postgresql/9.4.0/share/postgresql/extension/postgis.control

который psql

/usr/local/bin/psql

который pg_config

/usr/local/bin/pg_config

варить информацию postgis

postgis: stable 2.1.5, HEAD
http://postgis.net
/usr/local/Cellar/postgis/2.1.5 (45 files, 8.6M) *
  Built from source
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/postgis.rb

варить информацию postgres

postgresql: stable 9.4.0 (bottled)
http://www.postgresql.org/
Conflicts with: postgres-xc
/usr/local/Cellar/postgresql/9.4.0 (3049 files, 74M) *
  Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/postgresql.rb

И .bashrc, и .bash_profile имеют

export PGDATA='/usr/local/Cellar/postgresql/9.4.0/bin/postgres'
alias postgres-log='cd /usr/local/var/postgres/ && subl server.log'

mdfind -name "postgres" | grep -G "postgres $"

/usr/local/Cellar/postgresql/9.4.0/bin/postgres
/usr/local/var/postgres
/Users/lionelramos/macports/var/macports/sources/rsync.macports.org/release/tarballs/ports/ruby/rb-postgres

Похоже, у меня есть другая локальная версия postgres в дополнение к версии homebrew.

Как я решил свою проблему:

  1. Я удалил postgres 9.3.5_1 с помощью brew uninstall postgres 9.3.5_1.
  2. Я удалил postgis с помощью brew uninstall postgis
  3. Убедился, что у меня установлен только postgres 9.4 с brew info postgres
  4. Убедился, что psql команда сработала.
  5. Я переустановил postgis с brew install postgis.

Это решило мою проблему. Если у вас возникли проблемы с шагом 4, вам может потребоваться использовать команды initdb или createdb для создания необходимой базы данных.