Ich habe gerade Postgres 9.3.4 und PostGIS 2.1 auf OSX Mavericks mit den neuesten Versionen von KyngChaos libraries installiert.PostGIS mit Postgres verwenden: "FEHLER: Erweiterungssteuerdatei konnte nicht geöffnet werden"
aber wenn ich versuche, auf eine Datenbank räumliche Erweiterungen zu erstellen, kann ich nicht, weil Postgres behauptet, nicht in der Lage zu sein, die Erweiterungsdatei zu sehen:
:~ 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
Es sieht aus, als ob sich die Datei befindet woanders:
:~ anna$ mdfind postgis.control
/usr/local/pgsql-9.3/share/extension/postgis.control
ich verwende auf jeden Fall die erwartete Version von Postgres, obwohl ich weiß nicht, ob dies in dem die Bibliotheken in der Regel KyngChaos ist installieren:
Annas-MacBook-Air:~ anna$ psql --version
psql (PostgreSQL) 9.3.4
Annas-MacBook-Air:~ anna$ which psql
/usr/local/pgsql-9.3/bin/psql
Ich war ziemlich vorsichtig, Postgres nicht mit Homebrew etc zu installieren, weil ich weiß, dass es Probleme mit mehreren Versionen des gleichen Systems verursachen kann.
Kann jemand beraten, warum die Erweiterungsdatei nicht am erwarteten Ort ist?
UPDATE:
Es sieht aus wie vielleicht gibt es mehrere Versionen von Postgres Umlauf auf meinem System, und ich bin die falsche Verwendung?
:~ 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
Welchen sollte ich verwenden, und wie kann ich das System so einstellen, dass es standardmäßig verwendet wird?
WEITERE UPDATE
Hier ist die Ausgabe von 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
Es scheint seltsam, dass die Stammverzeichnisse der Installation nicht identisch sind. Immerhin ist postGIS eine "Erweiterung" von postgreSQL. – MickyInTheSky
Mögliches Duplikat von [UUID kann nicht verwendet und eine Erweiterung erstellt werden, um es zu verwenden] (http://stackoverflow.com/questions/20810921/cant-use-uuid-and-create-an-extension-to-use-it) –