Eklenti Oluşturma işlemi postgis ERROR, uzantı kontrol dosyasını açamadı mı?


51

PostgreSQL 9.x ve PostGIS 1.5 / 2.0'ı birkaç kez yükledim ve bu sorunu hiç yaşamadım.

Yeni bir CentOS 6.3 sunucusu kurdum ve çalıştırdım ve beklendiği gibi Postgres 9.3 kullanıyorum. Koşdum

yum install postgis2_93

ve dosyaları görebilirim.

/usr/pgsql-9.3/share/contrib/

ancak kaçtığımda

CREATE EXTENSION postgis;

Alırım

ERROR:  could not open extension control file "/usr/pgsql-9.3/share/extension/postgis.control": No such file or directory

kullandığım öğreticiler ( # 1 , # 2 ) , PostGIS'i yüklemek ve uzantıyı oluşturmak arasında hiçbir adım göstermedi.

Neyi kaçırıyorum?


Kaçırdığınız şey 'postgis.control' :) Soru 'neden' veya 'nerede'. İlk önce, 'find / usr -name postgis.control' komutunu çalıştırarak bir kopyasınız olup olmadığına bakın. Aksi takdirde, düzeltilmesi gereken yepyeni postgis2_93 paketi ile ilgili bir paketleme sorunu var.
Paul Ramsey

Oh, dosyaları ('postgis.control' dahil mi?) Paylaşın / katkıda bulunabilirsiniz, ancak hata mesajından pgsql paylaşım / uzantıya bakıyor. Paketin kaçırdığı varsayılan uzantı konumunda 9.2'den 9.3'e değişiklik yapılmış olabilir.
Paul Ramsey

@ PaulRamsey - Koştum find /usr -name postgis.controlve mevcut değil. Bazı dosyaları paylaşım / katkı olarak görebilirim; Ancak, postgis.control aralarında değil ... ne yapmamı önerirsin? bir düzeltme için bekleyin, kendiminkini yapın
Losthorse

@PaulRamsey - Sadece postgis-2.1.somevcut olduğunu doğruladım /lib, bu sadece kendi postgis.control dosyamı yapabilirim anlamına mı geliyor?
saat

Bir postgis.sql dosyası bulabilirseniz, veritabanınızı el ile uzamsallaştırmak için veritabanınıza (ve spatial_ref_sys.sql dosyasına) çalıştırabilirsiniz. Eksik kontrol dosyasını paketleyiciye bildirin, bu büyük bir sorun.
Paul Ramsey

Yanıtlar:


12

Bir postgis.sql dosyası bulabilirseniz, veritabanınızı el ile uzamsallaştırmak için veritabanınıza (ve spatial_ref_sys.sql dosyasına) çalıştırabilirsiniz. Eksik kontrol dosyasını paketleyiciye bildirin, bu büyük bir sorun.


54

Ubuntu Server 14.04'te de aynı problemi yaşadım. postgisUzantıyı kullanarak resmi Ubuntu depolarından yükledim apt-get install postgis.

Sonra find /usr -name postgis.controlherhangi bir sonuç vermedi.

Bunun nedeni extension/postgis.controlyüklenmedi çünkü postgis-scriptleri yoktu.

$ aptitude search postgis
i   libpostgis-java                                  - Geographic objects support for PostgreSQL -- JDBC support 
i   postgis                                          - Geographic objects support for PostgreSQL                 
p   postgis:i386                                     - Geographic objects support for PostgreSQL                 
i   postgis-doc                                      - Geographic objects support for PostgreSQL -- documentation
i   postgresql-9.3-postgis-2.1                       - Geographic objects support for PostgreSQL 9.3             
p   postgresql-9.3-postgis-2.1:i386                  - Geographic objects support for PostgreSQL 9.3             
i   postgresql-9.3-postgis-2.1-scripts               - PostGIS for PostgreSQL 9.3 -- scripts -- dummy package    
i   postgresql-9.3-postgis-scripts                   - Geographic objects support for PostgreSQL 9.3 -- scripts 

Çözüm, onu yüklemektir.

Debian benzeri dağıtımlarda:

apt-get install postgis*

Yetenek paketi yöneticisi, yüklenecek doğru paket sürümlerini otomatik olarak belirleyecektir. Postgis-doc da yüklenecek.

DÜZENLE

Bazı insanların yorumlarda fark ettiği gibi postgis*, zorunlu olması gerekmese de, sadece çalışması için kesinlikle gerekli olmayan bazı paketleri yükler.

Gerekli paketler postgisve postgresql-9.x-postgis-scriptsmeta paketler. Sisteminiz için doğru gerçek sürümü seçerler. Yani gerekli paketleri kurma komutları

 $ sudo apt-get install postgis postgresql-9.3-postgis-scripts

için postgresql-9.3. Ubuntu 16.04çalışır, postgresql-9.5böylece komut şöyle olur:

 $ sudo apt-get install postgis postgresql-9.5-postgis-scripts

İşlemin başarısını aşağıdaki komutu çalıştırarak kontrol edebilirsiniz:

find /usr -name postgis.control

Sunucumda şimdi döndürüyor:

/usr/share/postgresql/9.3/extension/postgis.control

Artık uzantıyı postgres sunucunuzdaki herhangi bir veritabanında etkinleştirebilirsiniz:

  • db'nize superuser ile bağlanın (varsayılan olarak postgres)
  • Çalıştırmak CREATE EXTENSION postgis;

Genel şemanız artık tüm postgis nesnelerini ve işlevlerini içeriyor.


... Windows yönü de olsaydı
CodyBugstein

...boşver! PostGIS'i StackBuilder ile yeniden kurarak Windows'ta çözüldü
CodyBugstein 10:14

4
Teşekkürler bu Ubuntu sorunumu çözdü! "Postgis *" ihtiyacınız olmayan bir sürü şey alır. Ben "apt-get install postgis postgresql-9.3-postgis-2.1" ifadesinin yeterli olduğunu düşünüyorum.
Nelson

Muhtemelen haklısın. Benim durumumda, tam bir yükleme tercih edildi, ancak kural değil.
Rémi B.

"apt-get install postgis *" kuralları. Teşekkürler!
nemesisdesign

18

Ubuntu 14.04’te postgresql-9.3-postgis-scriptspaketi de yüklemeniz gerekir . Koştuktan sonra

sudo apt-get install postgis-postgresql-9.3-postgis-komut dosyaları

Daha sonra başarılı bir şekilde koşmayı başardım

UZATMA postgisi OLUŞTURMA;

Benim veritabanında PostGIS başlatmak için.



2

Soruna neden olan bir diğer kaynak eksik PostGIS paketi olabilir, bu kurulum menüsünde veya sonrasında sizin durumunuzda tanımlanabilir. Bunun için, pencereleri açın, PostgreSQL'e gidin ve Application Stack Builder'ı başlatın . Ardından , PostgreSQL'i seçin , mümkün olan uygulamalar yüklenecek. PostGIS sadece işletim sisteminin (32 veya 64 bit) için uygun uzantısını yüklemeniz gerekir paket için, sadece doğrudan Mekansal Extensions .

Sonuçta burada önerilen adımlar:

  1. Application Stack Builder'ı başlatın
  2. Uzamsal Uzantılara Doğrudan
  3. PostGIS paketini yükle

Şimdi uzantıyı CREATE EXTENSION postgis;SQL Sorgunuzla ekleyebilirsiniz .


1

Aynı problemle karşılaştım, problemin postgis2_93 paketinin postgresql'in beklediği gibi beklendiği yerde kurulmadığını düşünüyorum. Size doğru yeri verebilecek başka bir repo kullanmayı deneyebilirsiniz. Veya yeri belirterek manuel olarak uzantı eklemek için arama yapabilirsiniz. Benim durumumda, dosya /usr/pgsql-9.4/ içindedir.


1

SLES 12 SP1'e Postgis 2.X kurarken en kötü kabusumu yaşadım. hangi zypper repo uyumlu bir paket yok

İşte 9.4.X çalıştıran Postgres sunucumda nasıl çözüldüğü.

PostGis'ten önce yüklediğim hataları temel alan prerequsite paketleri

  1. Proj 4 İndirme kaynağı soğuk, Build -> install
  2. zdalya deposunu ekleyerek Gdal andjibson'ı yükleyin zdalya addrepo http://download.opensuse.org
  3. zypper yüklemek gdal gdal devel libjson-c-devel libjson

Postgis'in Kurulumu

şimdi eğer ertelemek ve postgis uzantısı oluşturmak; çalışacak

Yapılandırırken önemli olan , pg-config yolunu ve geosconfig yolunu belirtmelisiniz ve RASTER postgis uzantısını oluştururken ana rol oynadığından, "Raster olmadan" dahil etmemelisiniz


1

Ubuntu 16.04 için bu komutu çalıştırın:

sudo apt-get install postgis postgresql-9.6-postgis-2.3-scripts

sürüm numaranızı hem postgresql (benim durumumda 9.6) hem de postgis (benim durumumda 2.3 ) için belirtmeniz gerektiğini unutmayın .


0

Demlemek kullanıyorsanız, PostGIS'i kaldırın ve yeniden yükleyin. Bu, uzantı dosyalarını oluşturur.


Bu benim için işe yaramadı, ben onları gördümbrew ls --verbose postgis
dps

0

Bazı dağıtımlarda uzantılar postgresql katkı paketinde paketlenir. Bu, uzantıların postgresql katkısında bulunduğu RedHat / CenOS için kesinlikle geçerlidir, burada xx magor ve tam sürümleri olmayan küçük sürüm sayılarıdır (postgresql95-postgres 9.5 için katkıda bulunur).


0

Benim için, Fedora 25 ve pg 9.5 kullanarak, aşağıdaki değişiklikleri yaptığımda işe yaradı:

  • Yum postgis paketini kurun

    $ yum install postgis2_95

  • PostGIS komut dosyalarını .deb paketini indirin

  • Çıkarın ve çıkarılan usr / share / postgresql / 9.5 dizinindeki 'katkı' ve 'uzantı' dizinlerini pgsql'deki aynı yola kopyalayın (izinleri değiştirerek).

  • Sunucuyu yeniden başlat


0

Benim durumumda (Linux Mint 18.1 Serena) varsayılan depodan kaldırmak posgresql-9.5ve postgisyeni kurmak zorunda kaldım .

sudo apt remove postgis*
sudo apt remove postgresql*

Ve PosgreSQL deposundan 9.6 sürümünü yükleyin :

sudo apt install postgresql-9.6 postgresql-9.6-postgis-2.3 postgresql-9.6-postgis-2.3-scripts postgresql-contrib-9.6

Emin değilim, sürümün eksik postgis.controldosyayla ilgisi var . Ama yine de 9.6 versiyonunu istedim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.