2014-05-18 22 views
7

Tôi vừa cài đặt Postgres 9.3.4 và PostGIS 2.1 trên OSX Mavericks bằng các phiên bản mới nhất của KyngChaos libraries.Cố gắng sử dụng PostGIS với Postgres: "L ERI: không thể mở tệp điều khiển mở rộng"

Tuy nhiên, khi tôi cố gắng tạo ra các phần mở rộng không gian trên một cơ sở dữ liệu, tôi không thể, bởi vì Postgres tuyên bố không để có thể nhìn thấy các tập tin mở rộng:

:~ anna$ psql -d land -c "CREATE EXTENSION postgis;" 
ERROR: could not open extension control file 
"/usr/local/Cellar/postgresql/9.3.4/share/postgresql/extension/postgis.control": 
No such file or directory 

Có vẻ như các tập tin nằm ở một nơi khác:

:~ anna$ mdfind postgis.control 
/usr/local/pgsql-9.3/share/extension/postgis.control 

tôi chắc chắn sử dụng phiên bản dự kiến ​​của Postgres, mặc dù tôi không biết nếu đây là nơi mà các thư viện KyngChaos thường cài đặt vào:

Annas-MacBook-Air:~ anna$ psql --version 
psql (PostgreSQL) 9.3.4 
Annas-MacBook-Air:~ anna$ which psql 
/usr/local/pgsql-9.3/bin/psql 

Tôi đã khá cẩn thận không cài đặt Postgres bằng Homebrew, v.v vì tôi biết rằng nó có thể gây ra sự cố khi có nhiều phiên bản của cùng một hệ thống.

Có ai có thể tư vấn về lý do tệp mở rộng không ở vị trí mong muốn không?


UPDATE:

Dường như có lẽ có nhiều phiên bản của Postgres trôi nổi trên hệ thống của tôi, và tôi đang sử dụng một trong những sai lầm?

:~ anna$ mdfind -name "postgres" | grep -G "postgres$" 
/usr/local/pgsql-9.3/bin/postgres 
/usr/local/var/postgres 
/usr/local/Cellar/postgresql/9.3.4/bin/postgres 

Tôi nên sử dụng cái nào và làm cách nào để đặt hệ thống để sử dụng cái này theo mặc định?


THÊM CẬP NHẬT

Dưới đây là đầu ra của pg_config:

BINDIR = /usr/local/pgsql-9.3/bin 
DOCDIR = /usr/local/pgsql-9.3/share/doc 
INCLUDEDIR = /usr/local/pgsql-9.3/include 
PKGINCLUDEDIR = /usr/local/pgsql-9.3/include 
INCLUDEDIR-SERVER = /usr/local/pgsql-9.3/include/server 
LIBDIR = /usr/local/pgsql-9.3/lib 
PKGLIBDIR = /usr/local/pgsql-9.3/lib 
LOCALEDIR = 
MANDIR = /usr/local/pgsql-9.3/man 
SHAREDIR = /usr/local/pgsql-9.3/share 
SYSCONFDIR = /usr/local/pgsql-9.3/etc 
PGXS = /usr/local/pgsql-9.3/lib/pgxs/src/makefiles/pgxs.mk 
CONFIGURE = '--with-openssl' '--with-pam' '--with-krb5' '--with-gssapi' '--with-ldap' '--enable-thread-safety' '--with-bonjour' '--with-python' '--without-perl' '--enable-nls' '--with-libxml' 'CC=clang' 'CXX=clang++' 'CFLAGS=-Os -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk -D_FILE_OFFSET_BITS=64' 'LD=clang' 'LDLFAGS=-arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk' 
CC = gcc 
CPPFLAGS = -I/usr/include/libxml2 
CFLAGS = -Os -arch x86_64 -D_FILE_OFFSET_BITS=64 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv 
CFLAGS_SL = 
LDFLAGS = -arch x86_64 -Wl,-dead_strip_dylibs 
LDFLAGS_SL = 
LIBS = -lintl -liconv -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -ledit -lz 
VERSION = PostgreSQL 9.3.4 
+0

Có vẻ lạ khi thư mục gốc của quá trình cài đặt không giống nhau. Sau khi tất cả postGIS là một "phần mở rộng" của postgreSQL. – MickyInTheSky

+0

Bản sao có thể có của [Không thể sử dụng uuid và tạo tiện ích mở rộng để sử dụng] [http://stackoverflow.com/questions/20810921/cant-use-uuid-and-create-an-extension-to-use-it) –

Trả lời

-1

Bạn có thể thử sử dụng lệnh này:

sudo apt-get install postgresql-contrib-9.3 
+4

Tôi đang sử dụng OSX ... – Richard

0

Bạn cũng cần phải cài đặt postgis- tập lệnh như trong những điều sau đây, trong đó giải quyết cùng một vấn đề đối với tôi: StackOverflow Answer

0

gì (cuối cùng) giải quyết nó cho tôi là để gỡ bỏ cài đặt PostGIS và cài đặt nó một lần nữa từ http://postgresapp.com/.

Bạn sẽ phải dừng máy chủ postgres và khởi động lại từ ứng dụng.

0

tìm kiếm một chút xung quanh tôi thấy this GIST nơi người dùng jordanmkoncz đưa ra một giải pháp cho OSX:

  1. Sử dụng homebrew để cài đặt PostGIS.
  2. Bạn cần phải cẩn thận vì bia sẽ cài đặt phiên bản mới nhất có sẵn của PostGIS có thể không tương thích với phiên bản PostgreSQL cụ thể của bạn.Đây là a compatibility table để thuận tiện cho bạn.

Để cài đặt một phiên bản cụ thể của PostGIS (hoặc bất kỳ công thức khác) jordnmkoncz khuyến cáo sử dụng phương pháp này: Homebrew install specific version of formula? để cài đặt đặc tả

tôi đã cùng một vấn đề với Linux Mint (Ubuntu tương tự) mà tôi giải quyết sau đây gis.stackexchange thread.

Các vấn đề liên quan